home *** CD-ROM | disk | FTP | other *** search
/ Sports Illustrated Swims… Screen Saver (Alternate) / Sports Illustrated Swimsuit Calendar & Screen Saver.iso / win31 / setupcc.mst < prev    next >
Text File  |  1995-09-19  |  62KB  |  1,703 lines

  1. '' some merge codes -- can add these up
  2. '' 1 merge
  3. '' 2 delete albums
  4. '' 4 delete pasetup.ini
  5.  
  6. '$INCLUDE 'setupapi.inc'
  7. '$INCLUDE 'msdetect.inc'
  8.  
  9. '' '$DEFINE DEBUG 1
  10.  
  11. '' dialog IDs
  12. CONST WELCOME=100
  13. CONST ASKQUITD=200
  14. CONST LEGAL=250
  15. CONST PROG_PATH=300
  16. CONST ART_PATH=350
  17. CONST FILTERS_PATH=375
  18. CONST GETARTPATH=386
  19. CONST GETELPATH=387
  20. CONST GETWSPATH=388
  21. CONST DATAPATH=390
  22. CONST NET_FILTERS_PATH=395
  23. CONST NET_ART_PATH=397
  24. CONST EXITFAILURE=400
  25. CONST EXITQUIT=600
  26. CONST EXITSUCCESS=700
  27. CONST ART_DLG=850
  28. CONST CUSTINST=6200
  29. CONST TOOBIG=6300
  30. CONST TOOBIG2=6350
  31. CONST BADPATH=6400
  32. CONST PREV_INST=6500
  33. CONST NEW_INST=6501
  34. CONST NEW_PATH=6502
  35. CONST INI_ENTRIES=6505
  36. CONST WARN_BOTH=6506
  37. CONST WARN_PRES=6507
  38. CONST WARN_HOL=6508
  39. CONST WARN_WIN30=6509
  40. CONST WARN_OTHER_FM=6510
  41. CONST GETINFO=7500
  42. CONST NODESETUP=7600
  43. CONST NETWORK_INFO=7700
  44.  
  45. '' art category checkbox elements
  46. CONST STATUS=1
  47. CONST SECTION=3
  48. CONST ITEMCOST=5
  49. CONST ALBUM=6
  50. CONST ALBUM_SECTION=7
  51. CONST ALBUM_COST=8
  52. CONST DEFAULT_STATUS=9
  53. const IDYES=6
  54. const MB_YESNO=4
  55. const MB_ICONQUESTION=32
  56.  
  57. CONST OPT_CLIP_ART=4
  58.  
  59. '' setup mode
  60. CONST ADMIN=1
  61. CONST NORMAL=2
  62. CONST NODE=3
  63. CONST NETWORK=4
  64.  
  65. '' script vars
  66. GLOBAL NEWPATH$
  67. GLOBAL DEST$
  68. GLOBAL DEST_ART$
  69. GLOBAL DEST_FILTERS$
  70. GLOBAL WINDRIVE$
  71. GLOBAL PROGDRIVE$
  72. GLOBAL ARTDRIVE$
  73. GLOBAL FILTERSDRIVE$
  74. GLOBAL WORKING_DEST$
  75. GLOBAL EXE_PATH$
  76. GLOBAL NAME_STR$
  77. GLOBAL ORG_STR$
  78. GLOBAL DATA_PATH$
  79. GLOBAL PROG_COST$
  80. GLOBAL FILTERS_COST$
  81. GLOBAL SEL_COST$
  82. GLOBAL IEL_COST$
  83. GLOBAL WRKSPC_COST$
  84. GLOBAL ART_COST$
  85. GLOBAL ART_HOL_REL_COST$
  86. GLOBAL ART_BUS_GOV_COST$
  87. GLOBAL ART_HOL_GOV_COST$
  88. GLOBAL ART_PER_HOL_COST$
  89. GLOBAL nWinDrive%
  90. GLOBAL WinVer30
  91. GLOBAL CUIDLL$
  92. GLOBAL STR_REQ$
  93. GLOBAL STR_AVAIL$
  94. GLOBAL DIALOG_LIST$
  95. GLOBAL CURRENT_DLG$
  96. GLOBAL CHK_PROG_FILES$
  97. GLOBAL CHK_STD_EVNT_LST$
  98. GLOBAL CHK_INTL_EVNT_LST$
  99. GLOBAL CHK_WORK_SPCS$
  100. GLOBAL CHK_CLIP_ART$
  101. GLOBAL CHK_AUTO_LAUNCH$
  102. GLOBAL RAD_ALBUM_ONLY$  '' dfg
  103. GLOBAL RAD_BUILD_ALBUM$
  104. GLOBAL RAD_ART_ONLY$
  105. GLOBAL STR_PROG_PATH$
  106. GLOBAL STR_CLIP_ART_PATH$
  107. GLOBAL STR_FILTERS_PATH$
  108. GLOBAL STR_REQ_PROG$
  109. GLOBAL STR_REQ_CLIP_ART$
  110. GLOBAL STR_REQ_FILTERS$
  111. GLOBAL STR_AVAIL_PROG$
  112. GLOBAL STR_AVAIL_ART$
  113. GLOBAL STR_AVAIL_FILTERS$
  114. GLOBAL STR_REQ_PROG2$
  115. GLOBAL STR_REQ_SEL$
  116. GLOBAL STR_REQ_IEL$
  117. GLOBAL STR_REQ_WK_SPC$
  118. GLOBAL STR_REQ_CLIP_ART2$
  119. GLOBAL DIA%
  120. GLOBAL _SEL$
  121. GLOBAL DIA_IEL$
  122. GLOBAL DIA_WRKSPC$
  123. GLOBAL DIA_ART$
  124. GLOBAL STR_REQ_ART_DLG$
  125. GLOBAL STR_AVAIL_ART_DLG$
  126. GLOBAL STR_REQ_GEN$
  127. GLOBAL STR_AVAIL_GEN$
  128. GLOBAL EXTRACOSTS$
  129. GLOBAL COSTLIST$
  130. GLOBAL NEEDLIST$
  131. GLOBAL BIGLIST$
  132. GLOBAL ini$
  133. GLOBAL NetworkInf$
  134. GLOBAL TotalSpcFree&
  135. GLOBAL OldCursor%
  136. GLOBAL FrameWindow%
  137. GLOBAL OptionsChecked%
  138. GLOBAL RootDir$
  139. GLOBAL WinDir$
  140. GLOBAL WinSysDir$
  141. GLOBAL sourcDir$
  142. GLOBAL srcDirChanged%
  143. GLOBAL fileCostChecked%
  144. GLOBAL mode%
  145. GLOBAL idDlg%
  146. GLOBAL setupInfInMem%
  147. GLOBAL NEED_MERGE%
  148. GLOBAL CD_ART_PATH$
  149. GLOBAL TTF_PATH$
  150. GLOBAL artSrcPath$
  151.  
  152. GLOBAL _ON$
  153. GLOBAL _NO$
  154. GLOBAL _YES$
  155. GLOBAL _CCW$
  156. GLOBAL _CCPO$
  157. GLOBAL _CPS$
  158. GLOBAL _GRAPH_INI$
  159. GLOBAL _FILTER_VER$
  160. GLOBAL _BLANK_ALB$
  161. GLOBAL _THEME_ALB$
  162. GLOBAL _BIG_ALB$
  163. GLOBAL _INSTALL_PATH$
  164. GLOBAL _EXE_NAME$
  165. GLOBAL _PASETUP_INI$
  166.  
  167. '' tokens for localizable strings
  168. GLOBAL _SETUP_TITLE$
  169. GLOBAL _KB_STR$
  170. GLOBAL _ZERO_KB_STR$
  171. GLOBAL _ERRMSG_FATAL$
  172. GLOBAL _ERRMSG_NOFIND$
  173. GLOBAL _ERRMSG_CONTACT$
  174. GLOBAL _ERRMSG_OPTCALC$
  175. GLOBAL _PROG_GRP$
  176. GLOBAL _ICON_CCW$
  177. GLOBAL _ICON_PA$
  178. GLOBAL _ICON_README$
  179. GLOBAL _ICON_NETREADME$
  180.  
  181. Declare Function WinExec Lib "Kernel" (szCmdLine$, show%) As Integer
  182. DECLARE FUNCTION MakeKbString LIB "mscuistf.dll" (szStr$) AS INTEGER
  183. DECLARE SUB HelpQuit LIB "mscuistf.dll" (hwnd%)
  184. DECLARE SUB DeleteOldIcons LIB "mscuistf.dll"
  185. DECLARE SUB Use3d LIB "mscuistf.dll"
  186. DECLARE SUB UnUse3d LIB "mscuistf.dll"
  187.  
  188. DECLARE FUNCTION DoAlbumMerge LIB "mscuistf.dll" (szOldArtPath$, szNewArtPath$, szAlbumName$) AS INTEGER
  189. DECLARE FUNCTION InstallTTF LIB "mscuistf.dll" (szTTF$, szDest$) AS INTEGER
  190. DECLARE FUNCTION MakeKb (szStr$) AS STRING
  191. DECLARE FUNCTION GetCostValue (ftype%) AS LONG
  192. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  193. DECLARE FUNCTION GetTotalSpcFree AS LONG
  194. DECLARE SUB DoFontStuff
  195. DECLARE SUB BuildCopyList
  196. DECLARE SUB GetFileCosts
  197. DECLARE SUB SetDriveStatus
  198. DECLARE SUB AddArtToCopyList
  199. DECLARE SUB OpenWaitMessage (Msg%)
  200. DECLARE SUB CloseWaitMessage
  201. DECLARE SUB CheckWin30
  202. DECLARE SUB DoIniStuff
  203. DECLARE SUB AskQuit
  204. DECLARE SUB LegalBullshit
  205. DECLARE SUB DoIconStuff
  206. DECLARE SUB GetUserInfo
  207. DECLARE SUB SetupIniForMerge
  208. DECLARE SUB RunNextInstall
  209.  
  210. '' following routines are in file 'init.inc'
  211. DECLARE SUB InitDefaultPaths
  212. DECLARE SUB InitMainDialogSymbols
  213. DECLARE SUB InitArtDialogSymbols
  214. DECLARE SUB ReInitArtDialogSymbols
  215. DECLARE FUNCTION GetAlbumName AS STRING
  216. DECLARE FUNCTION GetDriveName(szPath$) AS STRING
  217.  
  218. '' ** script execution begins here **
  219.  
  220. INIT:
  221. _ON$  = "ON"
  222. _NO$  = "NO"
  223. _YES$ = "YES"
  224.  
  225. '' section names in powerup.ini:
  226. _CCW$  = "Sports Illustrated Swimsuit Calendar"
  227. _CCPO$ = "Sports Illustrated Swimsuit Calendar Print Options"
  228. _CPS$  = "Calendar Paper Stocks"
  229. _GRAPH_INI$ = "GRAPHICS FILTERS"
  230.  
  231. _BLANK_ALB$ = "blank.alb"
  232. _THEME_ALB$ = "siswim2.alb"
  233. _BIG_ALB$ = "SISWM2CD.alb"
  234. _INSTALL_PATH$ = "SISWIM2" 
  235. _EXE_NAME$ = "SISWIM2.EXE"
  236. _PASETUP_INI$ = "PASETUP.INI"
  237.  
  238. CUIDLL$ = "mscuistf.dll"
  239. CURRENT_DLG$ = "CurrentDlg"
  240. COSTLIST$ = "CostList"
  241. NEEDLIST$ = "NeedList"
  242. BIGLIST$ = "TooBig"
  243. EXTRACOSTS$ = "ExtraCosts"
  244. ORG_STR$ = "OrgOut"
  245. NAME_STR$ = "NameOut"
  246.  
  247. '' TRANSLATOR START
  248.  
  249. '' title caption for main setup window
  250. _SETUP_TITLE$    = "The Sports Illustrated Swimsuit Calendar and Screen Saver 2.0 Setup"
  251.                      
  252. _KB_STR$         = " Kb"                '' kilobytes disk space
  253. _ZERO_KB_STR$    = "0 Kb"
  254.  
  255. '' setup error msgs
  256. _ERRMSG_FATAL$   = "Unexpected Setup error; installation disk may be faulty."
  257. _ERRMSG_NOFIND$  = "Setup cannot find "         '' <filename>
  258. _ERRMSG_CONTACT$ = ".  Contact your network administrator."
  259. _ERRMSG_OPTCALC$ = "Error in calculating option: "
  260.  
  261. '' captions for program group & program icons
  262. _PROG_GRP$       = "SI Swimsuit Calendar"
  263. _ICON_CCW$       = "SI Swimsuit Calendar"
  264. _ICON_PA$        = "PowerAlbum"
  265. _ICON_README$    = "Read Me"
  266. _ICON_NETREADME$ = "Read Me for Network Admin"
  267.  
  268. '' TRANSLATOR END
  269.  
  270. CursorSave% = ShowWaitCursor ()
  271.  
  272. srcDirChanged% = 0
  273. sourcDir$ = GetSymbolValue ("STF_SRCDIR")
  274. artSrcPath$ = MID$(sourcDir$, 1, 1)
  275. artSrcPath$ = artSrcPath$ + ":\ART\"
  276. WinDir$ = MakePath (MID$ (GetWindowsDir (), 1, LEN(GetWindowsDir ()) - 1), "")
  277. WinSysDir$ = MakePath (MID$ (GetWindowsSysDir (), 1, LEN(GetWindowsSysDir ()) - 1), "")
  278. RootDir$ = GetDriveName ( WinDir$ )
  279. FrameWindow% = HwndFrame ()
  280. SetSymbolValue "FrameWindow", STR$ (FrameWindow%)
  281. fileCostChecked% = 0
  282.  
  283. RestoreCursor CursorSave%
  284.  
  285. '' SetAbout is no good: it *adds* the specified strings to existing text
  286. '' in msshlstf.dll; must edit the stringtable resource in msshlstf.dll
  287. ''SetAbout "", ""
  288. SetTitle _SETUP_TITLE$
  289. SetBitmap CUIDLL$, 1
  290.  
  291. GOSUB GET_SETUP_MODE
  292. SetBitmap CUIDLL$, 1
  293. if mode% = NODE then
  294.   goto DO_NODE_SETUP
  295. endif
  296.  
  297. CursorSave% = ShowWaitCursor ()
  298. '' 26 drives ( A-Z )
  299. FOR i% = 1 TO 26 STEP 1
  300.    AddListItem BIGLIST$, ""
  301. NEXT i%
  302.  
  303. FOR i% = 1 TO 26 STEP 1
  304.    AddListItem EXTRACOSTS$, "0"
  305. NEXT i%
  306.  
  307. '' INF path always null unless provided on setup cmdline
  308. szInf$ = GetSymbolValue("STF_SRCINFPATH")
  309. IF szInf$ = "" THEN
  310.   szInf$ = MakePath( GetSymbolValue("STF_CWDDIR"), "SETUPCC.INF" )
  311. ENDIF
  312. setupInfInMem% = 0
  313. ReadInfFile szInf$
  314. setupInfInMem% = 1
  315. WinVer30 = 0
  316. if (GetWindowsMajorVersion () = 3) and (GetWindowsMinorVersion () = 0) then
  317.   WinVer30 = 1
  318. endif
  319.  
  320. RestoreCursor CursorSave%
  321. InitDefaultPaths
  322. InitMainDialogSymbols
  323. InitArtDialogSymbols
  324.  
  325. LegalBullshit
  326.  
  327. RE_INIT:
  328. CursorSave% = ShowWaitCursor ()
  329. InitDefaultPaths
  330. InitMainDialogSymbols
  331. ReInitArtDialogSymbols
  332. RestoreCursor CursorSave%
  333.  
  334. if mode% = ADMIN or mode% = NETWORK then
  335.   goto REFRESH_CUSTOM
  336. endif
  337.  
  338. WELCOME:
  339. if srcDirChanged% = 1 then
  340.   SetSymbolValue "STF_SRCDIR", sourcDir$
  341.   srcDirChanged% = 0
  342. endif
  343. if setupInfInMem% = 0 then
  344.   ReadInfFile szInf$
  345.   setupInfInMem% = 1
  346. endif
  347. sz$ = UIStartDlg(CUIDLL$, WELCOME, "FWelcomeDlgProc", 0, "")
  348. IF sz$ = "COMPLETE" THEN
  349.   UIPop 1
  350.   BuildCopyList
  351.   IF GetListItem (BIGLIST$, 1) = _YES$ THEN
  352.     GOSUB TOOBIG
  353.     GOTO REFRESH_CUSTOM
  354.   ENDIF
  355.   GOTO INSTALL
  356. ELSEIF sz$ = "CUSTOM" THEN
  357.   UIPop 1
  358.   GOTO REFRESH_CUSTOM
  359. ELSEIF sz$ = "REACTIVATE" THEN
  360.   GOTO WELCOME
  361. ELSE
  362.   AskQuit
  363.   GOTO WELCOME
  364. END IF
  365.  
  366. '' refresh custom install dialog
  367. REFRESH_CUSTOM:
  368. if mode% <> NETWORK then
  369.   GetFileCosts
  370. endif
  371. SetDriveStatus
  372.  
  373. CUSTINST:
  374. sz$ = UIStartDlg(CUIDLL$, CUSTINST, "FCustInstDlgProc", 0, "")
  375. IF sz$ = "INSTALL" THEN
  376.   BuildCopyList
  377.   ''install only if it will fit
  378.   IF GetListItem (BIGLIST$, 1) = _YES$ THEN
  379.     GOSUB TOOBIG
  380.     GOTO CUSTINST
  381.   ENDIF
  382.   UIPop 1
  383.   GOTO INSTALL
  384. ELSEIF sz$ = "BTN_PROG_PATH" THEN
  385.   GOTO GETPATH
  386. ELSEIF sz$ = "BTN_ART_PATH" THEN
  387.   GOTO GETPATH_ART
  388. ELSEIF sz$ = "BTN_FILTERS_PATH" THEN
  389.   GOTO GETPATH_FILTERS
  390. ELSEIF sz$ = "UPDATE" THEN
  391.   SetDriveStatus
  392.   GOTO CUSTINST
  393. ELSEIF sz$ = "BTN_BACK" then
  394.   UIPop 1
  395.   goto RE_INIT
  396. ELSEIF sz$ = "BTN_ART_OPTIONS" THEN
  397.   GOTO ART_OPTIONS
  398. ELSEIF sz$ = "REINIT" THEN
  399.   GOTO CUSTINST
  400. ELSEIF sz$ = "REACTIVATE" THEN
  401.   SetDriveStatus
  402.   GOTO CUSTINST
  403. ELSE
  404.   AskQuit
  405.   GOTO CUSTINST
  406. END IF
  407.  
  408. GETPATH:
  409. WORKING_DEST$ = DEST$
  410. iType% = PROG_PATH
  411. GOTO HANDLE_GETPATH
  412.  
  413. GETPATH_ART:
  414. WORKING_DEST$ = DEST_ART$
  415. iType% = ART_PATH
  416. GOTO HANDLE_GETPATH
  417.  
  418. GETPATH_FILTERS:
  419. WORKING_DEST$ = DEST_FILTERS$
  420. iType% = FILTERS_PATH
  421.  
  422. HANDLE_GETPATH:
  423. SetSymbolValue "EditTextIn", WORKING_DEST$
  424. SetSymbolValue "EditFocus", "END"
  425. sz$ = UIStartDlg (CUIDLL$, iType%, "FEditDlgProc", 0, "")
  426. IF sz$ = "OK" THEN
  427.   olddest$ = WORKING_DEST$
  428.   WORKING_DEST$ = MakePath (LCASE$ (GetSymbolValue("EditTextOut")), "")
  429.   ''validate new path
  430.   IF (IsDirWritable (WORKING_DEST$) = 0) OR (INSTR(1, WORKING_DEST$, ".") <> 0) THEN
  431.     GOSUB BADPATH
  432.     WORKING_DEST$ = olddest$
  433.     GOTO HANDLE_GETPATH
  434.   END IF
  435.   UIPop 1
  436.   IF iType% = PROG_PATH THEN
  437.     DEST$ = LCASE$(WORKING_DEST$)
  438.     SetSymbolValue EXE_PATH$, DEST$
  439.     SetSymbolValue STR_PROG_PATH$, DEST$
  440.     PROGDRIVE$ = MID$ (DEST$, 1, 1)
  441.   ELSEIF iType% = ART_PATH THEN
  442.     DEST_ART$ = LCASE$( WORKING_DEST$ )
  443.     SetSymbolValue STR_CLIP_ART_PATH$, DEST_ART$
  444.     ARTDRIVE$  = MID$ (DEST_ART$, 1, 1)
  445.   ELSEIF iType% = FILTERS_PATH THEN
  446.     DEST_FILTERS$ = LCASE$( WORKING_DEST$ )
  447.     SetSymbolValue STR_FILTERS_PATH$, DEST_FILTERS$
  448.     FILTERSDRIVE$ = MID$ (DEST_FILTERS$, 1, 1)
  449.   ENDIF
  450.   '' recalc if path changed
  451.   IF (olddest$ <> WORKING_DEST$) AND (olddest$ <> WORKING_DEST$+"\") AND (olddest$+"\" <> WORKING_DEST$) THEN
  452.     SetDriveStatus
  453.   END IF
  454.   olddest$ = ""
  455.   GOTO CUSTINST
  456. ELSEIF sz$ = "REACTIVATE" THEN
  457.   SetDriveStatus
  458.   GOTO HANDLE_GETPATH
  459. ELSEIF sz$ = "EXIT" THEN
  460.   AskQuit
  461.   GOTO HANDLE_GETPATH
  462. ELSE
  463.   UIPop 1
  464.   olddest$ = ""
  465.   GOTO CUSTINST
  466. END IF
  467.  
  468. ART_OPTIONS:
  469. SetSymbolValue STR_REQ_GEN$, STR_REQ_ART_DLG$
  470. SetSymbolValue STR_AVAIL_GEN$, STR_AVAIL_ART_DLG$
  471. SetSymbolValue CURRENT_DLG$, DIA_ART$
  472. iDialog% = ART_DLG
  473.  
  474. HANDLE_DLG:
  475. sz$ = UIStartDlg(CUIDLL$, iDialog%, "FOptionsDlgProc", 0, "")
  476. IF sz$ = "OK" THEN
  477.   UIPop 1
  478.   GOTO REFRESH_CUSTOM
  479. ELSEIF sz$ = "CANCEL" THEN
  480.   UIPop 1
  481.   GOTO REFRESH_CUSTOM
  482. ELSEIF sz$ = "REACTIVATE" THEN
  483.   GOTO HANDLE_DLG
  484. ELSEIF sz$ = "GLOBAL_SELECT" OR sz$ = "CHECKBOX_EVENT" THEN
  485.   SetDriveStatus
  486.   if iDialog% = ART_DLG then
  487.     goto ART_OPTIONS
  488.   endif
  489. ELSE
  490.   AskQuit
  491.   GOTO HANDLE_DLG
  492. END IF
  493.  
  494. TOOBIG:
  495. sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo1DlgProc", 0, "")
  496. IF sz$ = "REACTIVATE" THEN
  497.   SetDriveStatus
  498.   GOTO TOOBIG
  499. END IF
  500. UIPop 1
  501. RETURN
  502.  
  503. TOOBIG2:
  504. sz$ = UIStartDlg(CUIDLL$, TOOBIG2, "FInfo1DlgProc", 0, "")
  505. IF sz$ = "REACTIVATE" THEN
  506.   GOTO TOOBIG2
  507. END IF
  508. UIPop 1
  509. RETURN
  510.  
  511. BADPATH:
  512. sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  513. IF sz$ = "REACTIVATE" THEN
  514.   GOTO BADPATH
  515. END IF
  516. UIPop 1
  517. RETURN
  518.  
  519. INSTALL:
  520. '' create the necessary directories
  521. ''IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  522. ''  CreateDir DEST$, cmoNone
  523. ''  CreateDir DEST_FILTERS$, cmoNone
  524. ''ENDIF
  525. ''IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  526. ''  CreateDir DEST_ART$, cmoNone
  527. ''ENDIF    
  528. UnUse3d
  529. CopyFilesInCopyList
  530. Use3d
  531.  
  532. if mode% <> NODE then
  533.   if IsDirWritable( WinDir$ ) = 1 then
  534.     szDestFile$ = MakePath( WinDir$, "ccstyles.ccy" )
  535.     if DoesFileExist( szDestFile$, femExists) <= 0 then
  536.       CopyFile MakePath(DEST$,"ccstyles.ccy"),szDestFile$,cmoNone,0
  537.     endif
  538.   endif
  539. endif
  540.  
  541. '' PMGRPAPI.DLL DDE conflicts with MSSETUP'S.  Make sure that
  542. ''  PMGRPAPI.DLL begins a conversation before or after MSSETUP's
  543. IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  544.   CursorSave% = ShowWaitCursor ()
  545.   DeleteOldIcons                '' call PMGRPAPI.DLL to delete PA 1.02 icon
  546.   DoFontStuff
  547.   RestoreCursor CursorSave%
  548. ENDIF
  549. DoIniStuff
  550. DoIconStuff
  551.  
  552. '' warn 3.0 users they need font manager
  553. IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  554.   CheckWin30
  555. ENDIF
  556. GetUserInfo
  557.  
  558. szDelFile$ = MakePath( GetSymbolValue("STF_CWDDIR"), "chklist.ms" )
  559. RemoveFile szDelFile$, cmoNone
  560.  
  561. SetupIniForMerge
  562.  
  563. QUIT:
  564. ON ERROR GOTO ERRQUIT
  565. IF ERR = 0 THEN
  566.   dlg% = EXITSUCCESS
  567. ELSEIF ERR = STFQUIT THEN
  568.   dlg% = EXITQUIT
  569. ELSE
  570.   dlg% = EXITFAILURE
  571. END IF
  572.  
  573.  
  574. if dlg% <> EXITSUCCESS then
  575.     GOTO EXIT_FAIL
  576. endif
  577.  
  578. nextInstall% = 0
  579. ASKLOOP2:
  580. sz$ = UIStartDlg(CUIDLL$, dlg%, "FQuitDlgProc", 0, "")
  581. IF sz$ = "OK" THEN
  582.     nextInstall% = 1
  583. ELSEIF sz$ = "REACTIVATE" THEN
  584.     GOTO ASKLOOP2
  585. ELSE
  586. ENDIF
  587. UIPopAll
  588.  
  589. if nextInstall = 1 then 
  590.     RunNextInstall
  591. endif
  592. HelpQuit (FrameWindow%)
  593. END
  594.  
  595. EXIT_FAIL:
  596. QUITL1:
  597. sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  598. IF sz$ = "REACTIVATE" THEN
  599.   GOTO QUITL1
  600. END IF
  601. UIPop 1
  602. HelpQuit (FrameWindow%)
  603. END
  604.  
  605. ERRQUIT:
  606. i% = DoMsgBox(_ERRMSG_FATAL$, _SETUP_TITLE$, MB_OK+B_TASKMODAL+MB_ICONHAND)
  607. HelpQuit (FrameWindow%)
  608. szDelFile$ = MakePath( GetSymbolValue("STF_CWDDIR"), "chklist.ms" )
  609. RemoveFile szDelFile$, cmoNone
  610. END
  611.  
  612. '' AskQuit
  613. ''
  614. SUB AskQuit STATIC
  615. ASKLOOP:
  616.   sz$ = UIStartDlg(CUIDLL$, ASKQUITD, "FQuitDlgProc", 0, "")
  617.   IF sz$ = "OK" THEN
  618.     UIPop 1
  619.   ELSEIF sz$ = "REACTIVATE" THEN
  620.     GOTO ASKLOOP
  621.   ELSE
  622.     UIPopAll
  623.     HelpQuit (FrameWindow%)
  624.     szDelFile$ = MakePath( GetSymbolValue("STF_CWDDIR"), "chklist.ms" )
  625.     RemoveFile szDelFile$, cmoNone
  626.     END
  627.   END IF
  628. END SUB
  629.  
  630. SUB LegalBullshit STATIC
  631. ASKLOOP:
  632.   sz$ = UIStartDlg(CUIDLL$, LEGAL, "FLegalDlgProc", 0, "")
  633.   IF sz$ = "OK" THEN
  634.     UIPop 1
  635.   ELSEIF sz$ = "REACTIVATE" THEN
  636.     GOTO ASKLOOP
  637.   ELSE
  638.     UIPopAll
  639.     HelpQuit (FrameWindow%)
  640.     szDelFile$ = MakePath( GetSymbolValue("STF_CWDDIR"), "chklist.ms" )
  641.     RemoveFile szDelFile$, cmoNone
  642.     END
  643.   END IF
  644. END SUB
  645.  
  646. '' BuildCopyList
  647. ''
  648. SUB BuildCopyList STATIC
  649.     CursorSave% = ShowWaitCursor()
  650.       ClearCopyList
  651.       SrcDir$ = GetSymbolValue("STF_SRCDIR")
  652.  
  653.       PROGDRIVE$ = MID$ (DEST$, 1, 1)
  654.       ARTDRIVE$ = MID$ (DEST_ART$, 1, 1)
  655.       FILTERSDRIVE$ = MID$ (DEST_FILTERS$, 1, 1)
  656.  
  657.       IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  658.           AddSectionFilesToCopyList "PowerAlbum Files", SrcDir$, DEST$
  659.             AddSectionFilesToCopyList "PowerAlbum Files FILTERS", SrcDir$, DEST_FILTERS$
  660.             AddSectionFilesToCopyList "Program Files", SrcDir$, DEST$
  661.              AddSectionFilesToCopyList "Readme Files", SrcDir$, DEST$
  662.      if mode% = ADMIN then
  663.               AddSectionFilesToCopyList "Setup Files", SrcDir$, DEST$
  664.               AddSectionFilesToCopyList "Font Files", SrcDir$, DEST$
  665.       ''        AddSectionFilesToCopyList "ccstyle", SrcDir$, DEST$
  666.         endif
  667.       ENDIF
  668.       
  669.     ''deal with the fonts
  670.     IF (mode% = NORMAL) and GetSymbolValue(CHK_PROG_FILES$) = _ON$ then
  671.           if IsDirWritable(WinSysDir$) = 1 then
  672.             AddSectionFilesToCopyList "Font Files", SrcDir$, WinSysDir$
  673.             TTF_PATH$ = WinSysDir$
  674.           elseif IsDirWritable(WinDir$) = 1 then
  675.             AddSectionFilesToCopyList "Font Files", SrcDir$, WinDir$
  676.             TTF_PATH$ = WinDir$
  677.           else
  678.             AddSectionFilesToCopyList "Font Files", SrcDir$, DEST$
  679.             TTF_PATH$ = DEST$
  680.           endif
  681.     ENDIF
  682.  
  683.       IF GetSymbolValue (CHK_STD_EVNT_LST$) = _ON$ THEN
  684.         AddSectionFilesToCopyList "sel", SrcDir$, DEST$
  685.       ENDIF
  686.       
  687.       IF GetSymbolValue (CHK_INTL_EVNT_LST$) = _ON$ THEN
  688.         AddSectionFilesToCopyList "iel", SrcDir$, DEST$
  689.       ENDIF
  690.       
  691.       IF GetSymbolValue (CHK_WORK_SPCS$) = _ON$ THEN
  692.         AddSectionFilesToCopyList "Calendar Files", SrcDir$, DEST$
  693.       ENDIF
  694.       
  695.       ArtOptionsChecked% = 0
  696.       IF GetSymbolValue(CHK_CLIP_ART$) = _ON$ THEN
  697.         AddArtToCopyList
  698.       ENDIF
  699.       
  700.       IF GetSymbolValue(RAD_BUILD_ALBUM) = _ON$ or GetSymbolValue(RAD_ART_ONLY) = _ON$ THEN
  701.         AddSectionFilesToCopyList "blankalb", SrcDir$, DEST_ART$
  702.       ENDIF
  703.  
  704.       '' calculate the disk costs
  705.       StillNeed& = GetCopyListCost (EXTRACOSTS$, COSTLIST$, NEEDLIST$)
  706.       RestoreCursor CursorSave%
  707.       SetSymbolValue "DRIVE_ERROR", "@"
  708.       IF StillNeed& > 0 THEN
  709.         ReplaceListItem BIGLIST$, 1, _YES$
  710.         FOR i% = 1 to 26 STEP 1
  711.                if VAL (GetListItem (NEEDLIST$, i%)) > 0 then
  712.                  SetSymbolValue "DRIVE_ERROR", CHR$ (ASC("A") - 1 + i%) + ":"
  713.                  goto ESCAPE
  714.                endif
  715.            NEXT i%
  716. ESCAPE:
  717.       ELSE
  718.         ReplaceListItem BIGLIST$, 1, _NO$
  719.       ENDIF
  720. END SUB
  721.  
  722. '' SetDriveStatus
  723. ''
  724. SUB SetDriveStatus STATIC
  725.   CursorSave% = ShowWaitCursor()
  726.   '' convert drive letters to integers
  727.   PDrv% = ASC(ucase$(PROGDRIVE$)) - ASC("A") + 1
  728.   ADrv% = ASC(ucase$(ARTDRIVE$)) - ASC("A") + 1
  729.   FDrv% = ASC(ucase$(FILTERSDRIVE$)) - ASC("A") + 1
  730.  
  731.   '' when all the drives are the same, hide the
  732.   '' ART and FILTERS status string windows
  733.   IF (PDrv% = ADrv%) AND (PDrv% = FDrv%) THEN
  734.     SetSymbolValue STR_REQ_CLIP_ART$, ""
  735.     SetSymbolValue STR_REQ_FILTERS$,  ""
  736.     SetSymbolValue STR_AVAIL_ART$,    ""
  737.     SetSymbolValue STR_AVAIL_FILTERS$,""
  738.     '' update the Program Space Required string
  739.     cost& = 0
  740.     IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  741.       cost& = cost& + VAL (PROG_COST$) + VAL (FILTERS_COST$)
  742.     ENDIF
  743.     IF GetSymbolValue (CHK_STD_EVNT_LST$) = _ON$ THEN
  744.       cost& = cost& + VAL( SEL_COST$ )
  745.     ENDIF
  746.     IF GetSymbolValue (CHK_INTL_EVNT_LST$) = _ON$ THEN
  747.       cost& = cost& + VAL( IEL_COST$ )
  748.     ENDIF
  749.     IF GetSymbolValue (CHK_WORK_SPCS$) = _ON$ THEN
  750.       cost& = cost& + VAL( WRKSPC_COST$ )
  751.     ENDIF
  752.     IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  753.       cost& = cost& + GetCostValue (OPT_CLIP_ART)
  754.     ENDIF
  755.     szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (cost&)) + _KB_STR$
  756.     SetSymbolValue STR_REQ_PROG$, szTemp$
  757.     SetSymbolValue STR_REQ_ART_DLG$, szTemp$
  758.     '' update the Space Available (program) string
  759.     free& = GetFreeSpaceForDrive (PROGDRIVE$)
  760.     szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (free&)) + _KB_STR$
  761.     SetSymbolValue STR_AVAIL_PROG$, szTemp$
  762.     SetSymbolValue STR_AVAIL_ART_DLG$, szTemp$
  763.   ELSEIF ((PDrv% = ADrv%) AND (ADrv% <> FDrv%)) THEN
  764.     '' hide the ART status info
  765.     '' space REQUIRED
  766.     ProgCost& = 0
  767.     IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  768.       ProgCost& = ProgCost& + VAL (PROG_COST$)
  769.     ENDIF
  770.     IF GetSymbolValue (CHK_STD_EVNT_LST$) = _ON$ THEN
  771.       ProgCost& = ProgCost& + VAL( SEL_COST$ )
  772.     ENDIF
  773.     IF GetSymbolValue (CHK_INTL_EVNT_LST$) = _ON$ THEN
  774.       ProgCost& = ProgCost& + VAL( IEL_COST$ )
  775.     ENDIF
  776.     IF GetSymbolValue (CHK_WORK_SPCS$) = _ON$ THEN
  777.       ProgCost& = ProgCost& + VAL( WRKSPC_COST$ )
  778.     ENDIF
  779.     IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  780.       ProgCost& = ProgCost& + GetCostValue (OPT_CLIP_ART)
  781.     ENDIF
  782.     szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (ProgCost&)) + _KB_STR$
  783.     SetSymbolValue STR_REQ_PROG$, szTemp$
  784.     SetSymbolValue STR_REQ_ART_DLG$, szTemp$
  785.     FiltersCost& = 0
  786.     IF GetSymbolValue (CHK_PROG_FILES$) = _ON$  THEN
  787.       FiltersCost& = VAL (FILTERS_COST$)
  788.     ENDIF
  789.     SetSymbolValue STR_REQ_CLIP_ART$, ""
  790.     SetSymbolValue STR_REQ_FILTERS$, FILTERSDRIVE$ + ":  " + MakeKb (STR$ (FiltersCost&)) + _KB_STR$
  791.     '' space FREE
  792.     ProgFree& = GetFreeSpaceForDrive (PROGDRIVE$)
  793.     szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (ProgFree&)) + _KB_STR$
  794.     SetSymbolValue STR_AVAIL_PROG$, szTemp$
  795.     SetSymbolValue STR_AVAIL_ART_DLG$, szTemp$
  796.     SetSymbolValue STR_AVAIL_ART$, ""
  797.     FiltersFree& = GetFreeSpaceForDrive (FILTERSDRIVE$)
  798.     SetSymbolValue STR_AVAIL_FILTERS$, FILTERSDRIVE$ + ":  " + MakeKb (STR$ (FiltersFree&)) + _KB_STR$
  799.   ELSEIF ((PDrv% <> ADrv%) AND (ADrv% = FDrv%)) OR ((PDrv% <> FDrv%) AND (ADrv% = FDrv%)) OR ((PDrv% = FDrv%) AND (ADrv% <> FDrv%)) THEN
  800.     '' hide the FILTERS status info
  801.     '' space REQUIRED
  802.     ProgCost& = 0
  803.     IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  804.       ProgCost& = ProgCost& + VAL (PROG_COST$) + VAL (FILTERS_COST$)
  805.     ENDIF
  806.     IF GetSymbolValue (CHK_STD_EVNT_LST$) = _ON$ THEN
  807.       ProgCost& = ProgCost& + VAL( SEL_COST$ )
  808.     ENDIF
  809.     IF GetSymbolValue (CHK_INTL_EVNT_LST$) = _ON$ THEN
  810.       ProgCost& = ProgCost& + VAL( IEL_COST$ )
  811.     ENDIF
  812.     IF GetSymbolValue (CHK_WORK_SPCS$) = _ON$ THEN
  813.       ProgCost& = ProgCost& + VAL( WRKSPC_COST$ )
  814.     ENDIF
  815.     szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (ProgCost&)) + _KB_STR$
  816.     SetSymbolValue STR_REQ_PROG$, szTemp$
  817.     ArtCost& = 0
  818.     IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  819.       ArtCost& = ArtCost& + GetCostValue (OPT_CLIP_ART)
  820.     ENDIF
  821.     IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  822.       ArtCost& = ArtCost& + VAL (FILTERS_COST$)
  823.     ENDIF
  824.     szTemp$ = ARTDRIVE$ + ":  " + MakeKb (STR$ (ArtCost&)) + _KB_STR$
  825.     SetSymbolValue STR_REQ_CLIP_ART$, szTemp$
  826.     SetSymbolValue STR_REQ_ART_DLG$,  szTemp$
  827.     SetSymbolValue STR_REQ_FILTERS$, ""
  828.     '' space FREE
  829.     ProgFree& = GetFreeSpaceForDrive (PROGDRIVE$)
  830.     szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (ProgFree&)) + _KB_STR$
  831.     SetSymbolValue STR_AVAIL_PROG$, szTemp$
  832.     ArtFree& = GetFreeSpaceForDrive(ARTDRIVE$)
  833.     szTemp$ = ARTDRIVE$ + ":  " + MakeKb (STR$ (ArtFree&)) + _KB_STR$
  834.     SetSymbolValue STR_AVAIL_ART$, szTemp$
  835.     SetSymbolValue STR_AVAIL_ART_DLG$, szTemp$
  836.     SetSymbolValue STR_AVAIL_FILTERS$, ""
  837.   ELSEIF (PDrv% <> FDrv%) AND (PDrv% <> ADrv%) THEN
  838.     '' show EVERYTHING
  839.     '' space REQUIRED
  840.     ProgCost&               = 0
  841.     IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  842.       ProgCost& = ProgCost& + VAL (PROG_COST$)
  843.     ENDIF
  844.     IF GetSymbolValue (CHK_STD_EVNT_LST$) = _ON$ THEN
  845.       ProgCost& = ProgCost& + VAL( SEL_COST$ )
  846.     ENDIF
  847.     IF GetSymbolValue (CHK_INTL_EVNT_LST$) = _ON$ THEN
  848.       ProgCost& = ProgCost& + VAL( IEL_COST$ )
  849.     ENDIF
  850.     IF GetSymbolValue (CHK_WORK_SPCS$) = _ON$ THEN
  851.       ProgCost& = ProgCost& + VAL( WRKSPC_COST$ )
  852.     ENDIF
  853.     szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (ProgCost&)) + _KB_STR$
  854.     SetSymbolValue STR_REQ_PROG$, szTemp$
  855.     ArtCost& = 0
  856.     IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  857.       ArtCost& = ArtCost& + GetCostValue (OPT_CLIP_ART)
  858.     ENDIF
  859.     szTemp$ = ARTDRIVE$ + ":  " + MakeKb (STR$ (ArtCost&)) + _KB_STR$
  860.     SetSymbolValue STR_REQ_CLIP_ART$, szTemp$
  861.     SetSymbolValue STR_REQ_ART_DLG$,  szTemp$
  862.     FiltersCost& = 0
  863.     IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  864.       FiltersCost& = FiltersCost& + VAL (FILTERS_COST$)
  865.     ENDIF
  866.     SetSymbolValue STR_REQ_FILTERS$, FILTERSDRIVE$ + ":  " + MakeKb (STR$ (FiltersCost&)) + _KB_STR$
  867.     '' space FREE
  868.     ProgFree& = GetFreeSpaceForDrive(PROGDRIVE$)
  869.     szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (ProgFree&)) + _KB_STR$
  870.     SetSymbolValue STR_AVAIL_PROG$, szTemp$
  871.     ArtFree& = GetFreeSpaceForDrive (ARTDRIVE$)
  872.     szTemp$ = ARTDRIVE$ + ":  " + MakeKb (STR$ (ArtFree&)) + _KB_STR$
  873.     SetSymbolValue STR_AVAIL_ART$, szTemp$
  874.     SetSymbolValue STR_AVAIL_ART_DLG$, szTemp$
  875.     FiltersFree& = GetFreeSpaceForDrive (FILTERSDRIVE$)
  876.     SetSymbolValue STR_AVAIL_FILTERS$, FILTERSDRIVE$ + ":  " + MakeKb (STR$ (FiltersFree&)) + _KB_STR$
  877.   END IF
  878.   '' other status strings
  879.   IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  880.     SetSymbolValue STR_REQ_PROG2$, MakeKb (STR$ ( (VAL(PROG_COST$) + VAL(FILTERS_COST$)))) + _KB_STR$
  881.   ELSE
  882.     SetSymbolValue STR_REQ_PROG2$, _ZERO_KB_STR$
  883.   ENDIF
  884.   IF GetSymbolValue (CHK_STD_EVNT_LST$) = _ON$ THEN
  885.     SetSymbolValue STR_REQ_SEL$, MakeKb( STR$(VAL(SEL_COST$ ))) + _KB_STR$
  886.   ELSE
  887.     SetSymbolValue STR_REQ_SEL$, _ZERO_KB_STR$
  888.   ENDIF
  889.   IF GetSymbolValue (CHK_INTL_EVNT_LST$) = _ON$ THEN
  890.     SetSymbolValue STR_REQ_IEL$, MakeKb( STR$(VAL(IEL_COST$ ))) + _KB_STR$
  891.   ELSE
  892.     SetSymbolValue STR_REQ_IEL$, _ZERO_KB_STR$
  893.   ENDIF
  894.   IF GetSymbolValue (CHK_WORK_SPCS$) = _ON$ THEN
  895.     SetSymbolValue STR_REQ_WK_SPC$, MakeKb( STR$(VAL(WRKSPC_COST$ ))) + _KB_STR$
  896.   ELSE
  897.     SetSymbolValue STR_REQ_WK_SPC$, _ZERO_KB_STR$
  898.   ENDIF
  899.   IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  900.     SetSymbolValue STR_REQ_CLIP_ART2$, MakeKb (STR$ (GetCostValue (OPT_CLIP_ART))) + _KB_STR$
  901.   ELSE
  902.     SetSymbolValue STR_REQ_CLIP_ART2$, _ZERO_KB_STR$
  903.   ENDIF
  904.   RestoreCursor CursorSave%
  905. END SUB
  906.  
  907. '' MakePath
  908. ''
  909. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  910.   IF szDir$ = "" THEN
  911.     szTemp$ = szFile$
  912.   ELSEIF szFile$ = "" THEN
  913.     szTemp$ = szDir$
  914.   ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  915.     szTemp$ = szDir$ + szFile$
  916.   ELSE
  917.     szTemp$ = szDir$ + "\" + szFile$
  918.   END IF
  919.   if szTemp$ <> "" then
  920.     if MID$( szTemp$, LEN( szTemp$ ), 1 ) = "\" then
  921.       szTemp$ = MID$( szTemp$, 1, LEN( szTemp$ ) - 1 )
  922.     endif
  923.     IF MID$(szTemp$, LEN(szTemp$), 1) = ":" THEN
  924.       szTemp$ = szTemp$ + "\"
  925.     ENDIF
  926.   endif
  927.   MakePath = szTemp$
  928. END FUNCTION
  929.  
  930. '' GetFileCosts
  931. ''
  932. SUB GetFileCosts STATIC
  933.   if fileCostChecked% = 0 then
  934.     fileCostChecked% = 1
  935.     CursorSave% = ShowWaitCursor ()
  936.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  937.     '' get cost of PROGRAM files
  938.     ClearCopyList
  939.     AddSectionFilesToCopyList "Program Files", SrcDir$, DEST$
  940.     AddSectionFilesToCopyList "Setup Files", SrcDir$, WinDir$
  941.     if mode% = ADMIN then
  942.       AddSectionFilesToCopyList "Setup Files", SrcDir$, WinDir$
  943.     endif
  944.     i% = GetCopyListCost ( EXTRACOSTS$, COSTLIST$, NEEDLIST$)
  945.     PROG_COST$ = GetListItem (COSTLIST$, nWinDrive%)
  946.     '' get cost of STANDARD EVENT LISTS
  947.     ClearCopyList
  948.     AddSectionFilesToCopyList "sel", SrcDir$, WinDir$
  949.     i% = GetCopyListCost (EXTRACOSTS$, COSTLIST$, NEEDLIST$)
  950.     SEL_COST$ = GetListItem (COSTLIST$, nWinDrive%)
  951.     '' get cost of INTERNATIONAL EVENT LISTS
  952.     ClearCopyList
  953.     AddSectionFilesToCopyList "iel", SrcDir$, WinDir$
  954.     i% = GetCopyListCost (EXTRACOSTS$, COSTLIST$, NEEDLIST$)
  955.     IEL_COST$ = GetListItem (COSTLIST$, nWinDrive%)
  956.     '' get cost of WORKSPACES
  957.     ClearCopyList
  958.     AddSectionFilesToCopyList "Calendar Files", SrcDir$, WinDir$
  959.     i% = GetCopyListCost (EXTRACOSTS$, COSTLIST$, NEEDLIST$)
  960.     WRKSPC_COST$ = GetListItem (COSTLIST$, nWinDrive%)
  961.     '' get cost of FILTER files
  962.     ClearCopyList
  963.     AddSectionFilesToCopyList "PowerAlbum Files FILTERS", SrcDir$, WinDir$
  964.     i% = GetCopyListCost ( EXTRACOSTS$, COSTLIST$, NEEDLIST$)
  965.     FILTERS_COST$ = GetListItem (COSTLIST$, nWinDrive%)
  966.     '' get cost of CLIP ART
  967.     j% = GetListLength (DIA_ART$)
  968.     FOR i% = 1 to j% STEP 1
  969.       szChkSym$ = GetListItem (DIA_ART$, i%)
  970.       szSection$ = GetListItem (szChkSym$, SECTION)
  971.       MakeListFromSectionSize "ALB_COST_LIST", szSection$
  972.       jj% = GetListLength ("ALB_COST_LIST")
  973.       TheCost& = 0
  974.       for ii% = 1 to jj% step 1
  975.         TheCost& = TheCost& + VAL (GetListItem ("ALB_COST_LIST", ii%))
  976.       next ii%
  977.       RemoveSymbol "ALB_COST_LIST"
  978.       TheCost& = TheCost& * 26
  979.       TheCost& = TheCost& / 20
  980.       ReplaceListItem szChkSym$, ITEMCOST, STR$ (TheCost&)
  981.     NEXT i%
  982.     '' get cost of ALBUMS
  983.     j% = GetListLength (DIA_ART$)
  984.     FOR i% = 1 to j% STEP 1
  985.       szChkSym$ = GetListItem (DIA_ART$, i%)
  986.       szSection$ = GetListItem (szChkSym$, ALBUM_SECTION)
  987.       MakeListFromSectionSize "ALB_COST_LIST", szSection$
  988.       jj% = GetListLength ("ALB_COST_LIST")
  989.       TheCost& = 0
  990.       for ii% = 1 to jj% step 1
  991.         TheCost& = TheCost& + (2 * VAL (GetListItem ("ALB_COST_LIST", ii%)))
  992.         next ii%
  993.       RemoveSymbol "ALB_COST_LIST"
  994.       ReplaceListItem szChkSym$, ALBUM_COST, STR$ (TheCost&)
  995.     NEXT i%
  996.     TotalSpcFree& = GetTotalSpcFree
  997.     RestoreCursor CursorSave%
  998.   endif
  999. END SUB
  1000.  
  1001. '' AddArtToCopyList
  1002. ''
  1003. SUB AddArtToCopyList STATIC
  1004.     szSrcDir$ = GetSymbolValue ("STF_SRCDIR")
  1005.       szDest$ = DEST$
  1006.  
  1007.       szOptList$ = DIA_ART$
  1008.     szDest$ = DEST_ART$
  1009.     
  1010.     IF (GetSymbolValue(RAD_BUILD_ALBUM$) = _ON$) OR (GetSymbolValue(RAD_ART_ONLY$)= _ON$) THEN
  1011.       j% = GetListLength(DIA_ART$)
  1012.       FOR i% = 1 to j% STEP 1
  1013.          szChkSym$ = GetListItem (szOptList$, i%)
  1014.          szStatus$ = GetListItem (szChkSym, STATUS)
  1015.          IF szStatus$ = _ON$ THEN
  1016.             '' cat is checked, add the album
  1017.             if GetSymbolValue(RAD_BUILD_ALBUM$) = _ON$ then
  1018.                 szSection$ = GetListItem (szChkSym$, ALBUM_SECTION)
  1019.                 AddSectionFilesToCopyList szSection$, szSrcDir$, szDest$
  1020.             endif
  1021.             
  1022.             '' and the art
  1023.             szSection$ = GetListItem (szChkSym$, SECTION)
  1024.              AddSectionFilesToCopyList szSection$, artSrcPath$, szDest$
  1025.          ENDIF
  1026.       NEXT i%
  1027.       
  1028.     else '' album only
  1029.         add% = 1
  1030.         szBigAlb$ = MakePath(szDest$, _BIG_ALB$)
  1031.         '' does the theme album already exist?
  1032.         if DoesFileExist(szBigAlb$, femExists) = 1 then
  1033.             stri$ = "The album, SISWIM2CD.ALB, already exists on your computer from a previous installation. "
  1034.             stri$ = stri$ + "This album may contain pictures you have added yourself.  Do you want to replace it?"
  1035.             i% = DoMsgBox(stri$ , _SETUP_TITLE$, MB_YESNO+MB_ICONQUESTION)
  1036.             if i <> IDYES then
  1037.                 add% = 0
  1038.             endif
  1039.         endif
  1040.         if add = 1 then
  1041.             AddSectionFilesToCopyList "Siswm2cd", szSrcDir$, szDest$
  1042.             NEED_MERGE = 1
  1043.         else
  1044.             NEED_MERGE = 0
  1045.         endif
  1046.     ENDIF
  1047.     
  1048. END SUB
  1049.  
  1050. '' GetCostValue
  1051. ''
  1052. FUNCTION GetCostValue (ftype%) STATIC AS LONG
  1053.   szSrcDir$ = GetSymbolValue("STF_SRCDIR")
  1054.   IF ftype% = OPT_CLIP_ART THEN
  1055.     szOptList$ = DIA_ART$
  1056.     cost& = ART_LCOST&
  1057.   ELSE
  1058.     ''i% = DoMsgBox (_ERRMSG_OPTCALC$ + STR$(ftype%), "DEBUG", MB_OK)
  1059.   ENDIF
  1060.  
  1061.   '' get number of check boxes in the appropriate dialog
  1062.   cost& = 0
  1063.   j% = GetListLength (szOptList$)
  1064.   FOR i% = 1 to j% STEP 1
  1065.      szChkSym$ = GetListItem (szOptList$, i%)
  1066.      szStatus$ = GetListItem (szChkSym$, STATUS)
  1067.      IF szStatus$ = _ON$ THEN
  1068.        szCost$ = "0"
  1069.        IF NOT (GetSymbolValue( RAD_ALBUM_ONLY$ ) = _ON$) THEN
  1070.          szCost$ = GetListItem (szChkSym$, ITEMCOST)
  1071.        ENDIF
  1072.        szCost2$ = "0"
  1073.        IF ((GetSymbolValue( RAD_ALBUM_ONLY$ ) = _ON$) or (GetSymbolValue( RAD_BUILD_ALBUM$ ) = _ON$)) and (ftype% = OPT_CLIP_ART) THEN
  1074.          szCost2$ = GetListItem (szChkSym$, ALBUM_COST)
  1075.        ENDIF
  1076.        cost& = cost& + VAL (szCost$) + (2 * VAL (szCost2$))
  1077.      ENDIF
  1078.   NEXT i%
  1079. OUT:
  1080.   GetCostValue = cost&
  1081. END FUNCTION
  1082.  
  1083. '' MakeKb
  1084. ''
  1085. FUNCTION MakeKb (szStr$) STATIC AS STRING
  1086.   i% = MakeKbString (szStr$)
  1087.   MakeKb = szStr$
  1088. END FUNCTION
  1089.  
  1090. '' GetTotalSpcFree
  1091. ''
  1092. FUNCTION GetTotalSpcFree STATIC AS LONG
  1093.   GetTotalSpcFree = GetFreeSpaceForDrive (PROGDRIVE$) + GetFreeSpaceForDrive (ARTDRIVE$) + GetFreeSpaceForDrive (FILTERSDRIVE$)
  1094. END FUNCTION
  1095.  
  1096. '' OpenWaitMessage
  1097. ''      uses a modeless dialog to show a non-interactive info msg
  1098. ''
  1099. SUB OpenWaitMessage (AMsg%) STATIC
  1100.   OldCursor% = ShowWaitCursor()
  1101.   sz$ = UIStartDlg (CUIDLL$, AMsg%, "FModelessDlgProc", 0, "")
  1102. END SUB
  1103.  
  1104. '' CloseWaitMessage
  1105. ''
  1106. SUB CloseWaitMessage STATIC
  1107.   RestoreCursor OldCursor%
  1108.   UIPop 1
  1109. END SUB
  1110.  
  1111. '' CheckWin30
  1112. ''
  1113. SUB CheckWin30 STATIC
  1114.   WinIni$ = MakePath(GetWindowsDir, "WIN.INI")
  1115.   szTrueTypeEnabled$ = GetIniKeyString (WinIni$, "TrueType", "TTEnable")
  1116.   if (GetWindowsMajorVersion () = 3) and (GetWindowsMinorVersion () = 0) or (szTrueTypeEnabled$ = "0") then
  1117.   LOOP_UP:
  1118.     sz$ = UIStartDlg(CUIDLL$, WARN_WIN30, "FRadioDlgProc", 0, "")
  1119.     if sz$ = "REACTIVATE" or sz$ = "Option1" or sz$ = "Option2" or sz$ = "Option3" or sz$ = "Option4" or sz$ = "Option5" then
  1120.       GOTO LOOP_UP
  1121.     endif
  1122.     UIPop 1
  1123.     szResult$ = GetSymbolValue ("FontOption")
  1124.     if szResult$ = "Option1" then
  1125.       '' ATM
  1126.       CreateIniKeyValue ini$, "Aliases", "Roman", "TimesNewRomanPS", cmoNone
  1127.       CreateIniKeyValue ini$, "Aliases", "Modern", "Arial MT", cmoNone
  1128.     elseif szResult$ = "Option2" then
  1129.       '' FaceLift 2.0
  1130.       CreateIniKeyValue ini$, "Aliases", "Roman", "Dutch801 Rm BT", cmoNone
  1131.       CreateIniKeyValue ini$, "Aliases", "Modern", "Swis721 BT", cmoNone
  1132.     elseif szResult$ = "Option3" then
  1133.       '' FaceLift 1.0
  1134.       CreateIniKeyValue ini$, "Aliases", "Roman", "Dutch801 BT", cmoNone
  1135.       CreateIniKeyValue ini$, "Aliases", "Modern", "Swis721 BT", cmoNone
  1136.     elseif szResult$ = "Option4" then
  1137.       '' MoreFonts
  1138.       MfIni$ = MakePath(GetWindowsDir, "MF.INI")
  1139.       Pre$ = "A"
  1140.       Changer$ = "A"
  1141.       Post$ = "001AAA.WNW"
  1142. MF_LOOP:
  1143.       Font$ = GetIniKeyString (MfIni$, "Fonts", Pre$+Changer$+Post$)
  1144.       if Font$ = "" then
  1145.         goto OH_WELL
  1146.       endif
  1147.       if (INSTR (Font$, "Geneva") > 0 ) AND (INSTR (Font$, "Scal") > 0) then
  1148.         CreateIniKeyValue ini$, "Aliases", "Roman", "Tiempo (WN/Scal)", cmoNone
  1149.         CreateIniKeyValue ini$, "Aliases", "Modern","Geneva (WN/Scal)", cmoNone
  1150.         goto END_MF
  1151.       elseif (INSTR (Font$, "Geneva") > 0 ) AND (INSTR (Font$, "(WN)") > 0) then
  1152.         CreateIniKeyValue ini$, "Aliases", "Roman", "Tiempo (WN)", cmoNone
  1153.         CreateIniKeyValue ini$, "Aliases", "Modern","Geneva (WN)", cmoNone
  1154.         goto END_MF
  1155.       else
  1156.         Changer$ = STR$ (VAL (Changer$) + 1)
  1157.         goto MF_LOOP
  1158.       endif
  1159. OH_WELL:
  1160.       CreateIniKeyValue ini$, "Aliases", "Roman", "Tiempo (WN)", cmoNone
  1161.       CreateIniKeyValue ini$, "Aliases", "Modern","Geneva (WN)", cmoNone
  1162. END_MF:
  1163.   else
  1164. OTHER_FONT:
  1165.     ''CreateIniKeyValue ini$, "Aliases", "", "", cmoNone
  1166.     sz$ = UIStartDlg(CUIDLL$, WARN_OTHER_FM, "FInfo0DlgProc", 0, "")
  1167.     IF sz$ = "REACTIVATE" THEN
  1168.       GOTO OTHER_FONT
  1169.     END IF
  1170.     UIPop 1
  1171.   endif
  1172.   '' TrueType is enabled
  1173.   else
  1174.     CreateIniKeyValue ini$, "Aliases", "Roman", "Times New Roman", cmoNone
  1175.     CreateIniKeyValue ini$, "Aliases", "Modern", "Arial", cmoNone
  1176.     CreateIniKeyValue ini$, "Aliases", "Casque OpenFace", "Casque OpenFace", cmoNone
  1177.     CreateIniKeyValue ini$, "Aliases", "Formal Script", "Formal Script", cmoNone
  1178.     CreateIniKeyValue ini$, "Aliases", "Marquee Engraved", "Marquee Engraved", cmoNone
  1179.     CreateIniKeyValue ini$, "Aliases", "Ultra Shadow", "Ultra Shadow", cmoNone
  1180.   endif
  1181. END SUB
  1182.  
  1183. '' DoIniStuff
  1184. ''
  1185. SUB DoIniStuff STATIC
  1186.     '' open a billboard to notify user that INI file entries are being created
  1187.       '' [msg text is in the dialog resource file]
  1188.       OpenWaitMessage (INI_ENTRIES)
  1189.       WinIniFile$ = MakePath(GetWindowsDir, "WIN.INI")
  1190.  
  1191.       IF GetSymbolValue(CHK_PROG_FILES$) = _ON$ THEN
  1192.         '' create WIN.INI entry for POWERUP.INI location
  1193.         CreateIniKeyValue WinIniFile$, "PowerUp", "PowerUp", UCASE$ (ini$), cmoOverwrite
  1194.         
  1195.         '' create WIN.INI entries for CCW files (.CCE, .CCI and .CCW)
  1196.         CreateIniKeyValue WinIniFile$, "Extensions", "cce", UCASE$ ( MakePath( DEST$, "siswim2.exe ^.cce" )), cmoOverwrite
  1197.         CreateIniKeyValue WinIniFile$, "Extensions", "ccw", UCASE$ ( MakePath( DEST$, "siswim2.exe ^.ccw" )), cmoOverwrite
  1198.         CreateIniKeyValue WinIniFile$, "Extensions", "cci", UCASE$ ( MakePath( DEST$, "siswim2.exe ^.cci" )), cmoOverwrite
  1199.         CreateIniKeyValue WinIniFile$, "Extensions", "alb", UCASE$ ( MakePath( DEST$, "palbum.exe ^.alb")), cmoOverwrite
  1200.  
  1201.           CreateIniKeyValue ini$, _GRAPH_INI$, "Path", UCASE$ (DEST_FILTERS$), cmoOverwrite
  1202.           CreateIniKeyValue ini$, _GRAPH_INI$, "NewPath", UCASE$ (DEST_FILTERS$), cmoOverwrite
  1203. '' TRANSLATOR START -- *WARNING*: refer to localization guide
  1204. '
  1205.           CreateIniKeyValue ini$, _GRAPH_INI$, "Filter1","All graphics,*.BMP;*.CGM;*.DRW;*.EPI;*.PCX;*.WMF;*.PCD;*.JPG;*.WPG;*.AVI;*.WAV", cmoOverwrite
  1206.           CreateIniKeyValue ini$, _GRAPH_INI$, "Filter2","Bitmap (*.bmp),*.BMP,IBBMP9,Accusft5.DLL,BITMAP", cmoOverwrite
  1207.           CreateIniKeyValue ini$, _GRAPH_INI$, "Filter3","CGM (*.cgm),*.CGM,IMCGM9,EMCGM9,METAFILE", cmoOverwrite
  1208.           CreateIniKeyValue ini$, _GRAPH_INI$, "Filter4","Micrografx (*.drw),*.DRW,IMDRW9,EMDRW9,METAFILE", cmoOverwrite
  1209.           CreateIniKeyValue ini$, _GRAPH_INI$, "Filter5","Photo CD (*.pcd),*.PCD,IBPCD9,NONE,BITMAP", cmoOverwrite
  1210.           CreateIniKeyValue ini$, _GRAPH_INI$, "Filter6","Text Effects (*.epi),*.EPI,IBTIF9,Accusft5.DLL,BITMAP", cmoOverwrite
  1211.           CreateIniKeyValue ini$, _GRAPH_INI$, "Filter7","PC Paint (*.pcx),*.PCX,IBPCX9,Accusft5.DLL,BITMAP", cmoOverwrite
  1212.           CreateIniKeyValue ini$, _GRAPH_INI$, "Filter8","Windows Metafile (*.wmf),*.WMF,IMWMF9,EMWMF9,METAFILE", cmoOverwrite
  1213.           CreateIniKeyValue ini$, _GRAPH_INI$, "Filter9","JPEG (*.jpg),*.JPG,Accusft5.DLL,Accusft5.DLL,BITMAP", cmoOverwrite
  1214.           CreateIniKeyValue ini$, _GRAPH_INI$, "Filter10","WPG (*.wpg),*.WPG,IMWPG9,EMWPG9,METAFILE", cmoOverwrite
  1215.           CreateIniKeyValue ini$, _GRAPH_INI$, "Filter11","WAV (*.wav),*.WAV,MM____PA.DLL,NONE,AUDIO", cmoOverwrite
  1216.           CreateIniKeyValue ini$, _GRAPH_INI$, "Filter12","AVI (*.avi),*.AVI,MM____PA.DLL,NONE,VIDEO", cmoOverwrite
  1217. '
  1218. '' TRANSLATOR END
  1219. '
  1220.         CreateIniKeyValue ini$, _GRAPH_INI$, "FilterDll", "ISGDI9.DLL", cmoOverwrite
  1221.         CreateIniKeyValue ini$, _GRAPH_INI$, "FilterIni", "ISGDI9.INI", cmoOverwrite
  1222.         CreateIniKeyValue ini$, _GRAPH_INI$, "TransformFlt", "EMWMF9.FLT", cmoOverwrite
  1223. '
  1224. '' TRANSLATOR START -- *WARNING*: refer to localization guide
  1225. '
  1226.     
  1227.           CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter1","All graphics,*.BMP;*.CGM;*.DRW;*.EPI;*.PCX;*.WMF;*.PCD;*.JPG;*.WPG;*.AVI;*.WAV", cmoOverwrite
  1228.           CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter2","Bitmap (*.bmp),*.BMP,IBBMP9,Accusft5.DLL,BITMAP", cmoOverwrite
  1229.           CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter3","CGM (*.cgm),*.CGM,IMCGM9,EMCGM9,METAFILE", cmoOverwrite
  1230.           CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter4","Micrografx (*.drw),*.DRW,IMDRW9,EMDRW9,METAFILE", cmoOverwrite
  1231.           CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter5","Photo CD (*.pcd),*.PCD,IBPCD9,NONE,BITMAP", cmoOverwrite
  1232.           CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter6","Text Effects (*.epi),*.EPI,IBTIF9,Accusft5.DLL,BITMAP", cmoOverwrite
  1233.           CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter7","PC Paint (*.pcx),*.PCX,IBPCX9,Accusft5.DLL,BITMAP", cmoOverwrite
  1234.           CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter8","Windows Metafile (*.wmf),*.WMF,IMWMF9,EMWMF9,METAFILE", cmoOverwrite
  1235.           CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter9","JPEG (*.jpg),*.JPG,Accusft5.DLL,Accusft5.DLL,BITMAP", cmoOverwrite
  1236.           CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter10","WPG (*.wpg),*.WPG,IMWPG9,EMWPG9,METAFILE", cmoOverwrite
  1237.           CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter11","WAV (*.wav),*.WAV,MM____PA.DLL,NONE,AUDIO", cmoOverwrite
  1238.           CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter12","AVI (*.avi),*.AVI,MM____PA.DLL,NONE,VIDEO", cmoOverwrite
  1239. '
  1240. '' TRANSLATOR END
  1241. '
  1242.     CreateIniKeyValue ini$, _GRAPH_INI$, "FilterDll", "ISGDI9.DLL", cmoOverwrite
  1243.     CreateIniKeyValue ini$, _GRAPH_INI$, "FilterDll", "ISGDI9.DLL", cmoOverwrite
  1244.     CreateIniKeyValue ini$, _GRAPH_INI$, "TransformFlt", "EMWMF9.FLT", cmoOverwrite
  1245.  
  1246.         '' create [calendar whatever] entries
  1247.         
  1248.         CreateIniKeyValue ini$, _CCW$, "AutoSave", "0", cmoNone
  1249.         CreateIniKeyValue ini$, _CCW$, "AutoSaveSpan", "15", cmoNone
  1250.         CreateIniKeyValue ini$, _CCW$, "AutoUpdate", "0", cmoNone
  1251.         CreateIniKeyValue ini$, _CCW$, "BackgroundMax", "1900", cmoNone
  1252.         CreateIniKeyValue ini$, _CCW$, "BigPictureBorderMargin", "5", cmoNone
  1253.         CreateIniKeyValue ini$, _CCW$, "BigPictureDescMargin", "2", cmoNone
  1254.         CreateIniKeyValue ini$, _CCW$, "ClipboardFormats", "2", cmoNone
  1255.         CreateIniKeyValue ini$, _CCW$, "ColumnWidthTestString", "NNNNNN", cmoNone
  1256.         CreateIniKeyValue ini$, _CCW$, "DefaultPriority", "*", cmoNone
  1257.         CreateIniKeyValue ini$, _CCW$, "DefaultStyle", "Normal", cmoNone
  1258.         CreateIniKeyValue ini$, _CCW$, "DefaultWorkspacePath", UCASE$ (WinDir$), cmoNone
  1259.         CreateIniKeyValue ini$, _CCW$, "DisableHyphenation", _NO$, cmoNone
  1260.         CreateIniKeyValue ini$, _CCW$, "DisplayUpdateDlg", "N", cmoNone
  1261.         CreateIniKeyValue ini$, _CCW$, "DosGraphicsPath", UCASE$ (WinDir$), cmoNone
  1262.         CreateIniKeyValue ini$, _CCW$, "EventListPath", UCASE$ (DEST$), cmoNone
  1263.         CreateIniKeyValue ini$, _CCW$, "EventMarginX", "1", cmoNone
  1264.         CreateIniKeyValue ini$, _CCW$, "EventMarginY", "1", cmoNone
  1265.         CreateIniKeyValue ini$, _CCW$, "EXPORT1", """CCPlus DOS 4.0 (.cal)"" CCNV-CAL.DLL *.cal", cmoOverwrite
  1266.         CreateIniKeyValue ini$, _CCW$, "EXPORT2", """CCPlus DOS 5.0 (.cal)"" CCNV-CAL.DLL *.cal", cmoOverwrite
  1267.         CreateIniKeyValue ini$, _CCW$, "EXPORT3", """Comma Delimited (.csv)"" CCNV-CSV.DLL *.csv", cmoOverwrite
  1268.         CreateIniKeyValue ini$, _CCW$, "EXPORT4", """DOS Comma Delimited (.csv)"" CCNV-CSV.DLL *.csv", cmoOverwrite
  1269.         CreateIniKeyValue ini$, _CCW$, "EXPORT5", """Wizard (*.sdf)"" CCNV-WZW.DLL *.sdf", cmoOverwrite
  1270.         CreateIniKeyValue ini$, _CCW$, "FormSizeScale", _YES$, cmoNone
  1271.         CreateIniKeyValue ini$, _CCW$, "GraphicsPath", UCASE$ (DEST_ART$), cmoOverwrite
  1272.         CreateIniKeyValue ini$, _CCW$, "HeaderMargin", "5", cmoNone
  1273.         CreateIniKeyValue ini$, _CCW$, "Hebrew", _YES$, cmoOverwrite
  1274.         CreateIniKeyValue ini$, _CCW$, "HyphenZone", "30", cmoNone
  1275.         CreateIniKeyValue ini$, _CCW$, "IMPORT1", """CCPlus DOS (.cal)"" CCNV-CAL.DLL *.cal", cmoOverwrite
  1276.         CreateIniKeyValue ini$, _CCW$, "IMPORT2", """Lotus 1-2-3 (.wks,.wk1)"" CCNV-WKS.DLL *.wks;*.wk1", cmoOverwrite
  1277.         CreateIniKeyValue ini$, _CCW$, "IMPORT3", """dBase III, IV (.dbf)"" CCNV-DBF.DLL *.dbf", cmoOverwrite
  1278.         CreateIniKeyValue ini$, _CCW$, "IMPORT4", """Columnar ASCII (*.*)"" CCNV-COL.DLL *.*", cmoOverwrite
  1279.         CreateIniKeyValue ini$, _CCW$, "IMPORT5", """Comma Delimited (.csv)"" CCNV-CSV.DLL *.csv", cmoOverwrite
  1280.         CreateIniKeyValue ini$, _CCW$, "IMPORT6", """DOS Columnar ASCII (*.*) "" CCNV-COL.DLL *.*", cmoOverwrite
  1281.         CreateIniKeyValue ini$, _CCW$, "IMPORT7", """DOS Comma Delimited (.csv)"" CCNV-CSV.DLL *.csv", cmoOverwrite
  1282.         CreateIniKeyValue ini$, _CCW$, "IMPORT8", """Wizard (sched.wzw,*.sdf)"" CCNV-WZW.DLL sched.wzw;*.sdf", cmOverwrite
  1283.         CreateIniKeyValue ini$, _CCW$, "ImportExportDelimitor", ",", cmoNone
  1284.         CreateIniKeyValue ini$, _CCW$, "LastYear", "2000", cmoNone
  1285.         CreateIniKeyValue ini$, _CCW$, "MarkListsWithNotes", "1", cmoNone
  1286.         CreateIniKeyValue ini$, _CCW$, "MidPointMargin", "15", cmoNone
  1287.         CreateIniKeyValue ini$, _CCW$, "MinColumnWidth", "100", cmoNone
  1288.         CreateIniKeyValue ini$, _CCW$, "MinNoteHeight", "14", cmoNone
  1289.         CreateIniKeyValue ini$, _CCW$, "MinWordLength", "7", cmoNone
  1290.         CreateIniKeyValue ini$, _CCW$, "NoteLines", "40", cmoNone
  1291.         CreateIniKeyValue ini$, _CCW$, "NumberOfExports", "5", cmoOverwrite
  1292.         CreateIniKeyValue ini$, _CCW$, "NumberOfImports", "8", cmoOverwrite
  1293.         CreateIniKeyValue ini$, _CCW$, "PictureBorder", "4", cmoNone
  1294.         CreateIniKeyValue ini$, _CCW$, "PrintFontsInBlack", _YES$, cmoNone
  1295.         CreateIniKeyValue ini$, _CCW$, "PrintPreview", "0", cmoNone
  1296.         CreateIniKeyValue ini$, _CCW$, "ProgramPath", UCASE$ (DEST$), cmoOverwrite
  1297.         CreateIniKeyValue ini$, _CCW$, "ScreenRes", "0", cmoNone
  1298.         CreateIniKeyValue ini$, _CCW$, "SecondLineIndentMax", "15", cmoNone
  1299.         CreateIniKeyValue ini$, _CCW$, "SecondLineIndentPercent", "8", cmoNone
  1300.         CreateIniKeyValue ini$, _CCW$, "SpecialCaseBanding", _YES$, cmoNone
  1301.         CreateIniKeyValue ini$, _CCW$, "StyleConflict", "Dialog", cmoNone
  1302.         CreateIniKeyValue ini$, _CCW$, "StylesPath", UCASE$ (WinDir$), cmoNone
  1303.         CreateIniKeyValue ini$, _CCW$, "UpdateSpan", "15", cmoNone
  1304.         CreateIniKeyValue ini$, _CCW$, "UseCommonPalette", "1", cmoOverwrite
  1305.         CreateIniKeyValue ini$, _CCW$, "WorkspacePath", UCASE$ (DEST$), cmoNone
  1306.     
  1307.         '' create [paperstock] entries
  1308.         '' CCW itself creates the stock0 entry if missing, so check for stock1
  1309.         if GetIniKeyString( ini$, _CPS$, "Stock1" ) = "" then
  1310.               '' TRANSLATOR START -- *WARNING*: refer to localization guide
  1311.               CreateIniKeyValue ini$, _CPS$, "Stock0", "Letter - 8.5 x 11;C;P;0.00;0.00;11.00;8.50;1; 1;11.00;8.50;0.75;0.50;0.75;0.50;I", cmoOverwrite
  1312.               CreateIniKeyValue ini$, _CPS$, "Stock1", "Legal - 8.5 x 14;C;P;0.00;0.00;14.00;8.50;1; 1;14.00;8.50;0.50;0.50;0.75;0.50;I", cmoOverwrite
  1313.               CreateIniKeyValue ini$, _CPS$, "Stock2", "Wide - 14 x 11;T;P;0.00;0.00;11.00;14.00;1; 1;11.00;14.00;0.50;0.50;0.75;0.50;I", cmoOverwrite
  1314.               CreateIniKeyValue ini$, _CPS$, "Stock3", "Pocket - 3.75 x 6.75;C;P;0.00;0.00;6.75;3.75;1; 1;6.75;3.75;0.50;0.35;0.63;0.35;I", cmoOverwrite
  1315.               CreateIniKeyValue ini$, _CPS$, "Stock4", "Organizer - 5.5 x 8.5;C;P;0.00;0.00;8.50;5.50;1; 1;8.50;5.50;0.50;0.35;0.63;0.35;I", cmoOverwrite
  1316.               CreateIniKeyValue ini$, _CPS$, "Stock5", "Two/page - 8.5 x 5.5;C;P;0.00;0.00;5.50;8.50;1; 2;11.00;8.50;0.35;0.63;0.35;0.35;I", cmoOverwrite
  1317.               CreateIniKeyValue ini$, _CPS$, "Stock6", "Three/page - 6.75 x 3.66;C;P;0.00;0.00;3.66;6.75;1; 3;11.00;8.50;0.41;0.35;0.35;0.35;I", cmoOverwrite
  1318.               CreateIniKeyValue ini$, _CPS$, "Stock7", "Four/page - 4.25 x 5.5;C;P;0.00;0.00;5.50;4.25;2; 2;11.00;8.50;0.41;0.35;0.41;0.35;I", cmoOverwrite
  1319.               CreateIniKeyValue ini$, _CPS$, "Stock8", "InstaBook - 2/page;C;P;0.00;0.00;5.50;8.50;1; 2;11.00;8.50;0.35;0.63;0.35;0.35;I", cmoOverwrite
  1320.               CreateIniKeyValue ini$, _CPS$, "Stock9", "InstaBook - 4/page;C;P;0.00;0.00;5.50;4.25;2; 2;11.00;8.50;0.35;0.50;0.35;0.35;I", cmoOverwrite
  1321.               CreateIniKeyValue ini$, _CPS$, "Stock10", "InstaBook - 12/page;C;P;0.00;0.00;3.66;2.12;4; 3;11.00;8.50;0.35;0.40;0.35;0.35;I", cmoOverwrite
  1322.               CreateIniKeyValue ini$, _CPS$, "Stock11", "A3 - 29.7 x 42 cm;C;P;0.00;0.00;42.00;29.70;1; 1;42.00;29.70;1.20;1.20;1.60;1.20;M", cmoOverwrite
  1323.               CreateIniKeyValue ini$, _CPS$, "Stock12", "A4 - 21 x 29.7 cm;C;P;0.00;0.00;29.70;21.00;1; 1;29.70;21.00;1.20;1.20;1.60;1.20;M", cmoOverwrite
  1324.               CreateIniKeyValue ini$, _CPS$, "Stock13", "A5 - 14.8 x 21 cm;C;P;0.00;0.00;21.00;14.80;1; 1;21.00;14.80;1.20;1.20;1.60;1.20;M", cmoOverwrite
  1325.               CreateIniKeyValue ini$, _CPS$, "Stock14", "A4 InstaBook - 2/page;C;P;0.00;0.00;14.85;21.00;1; 2;29.70;21.00;0.75;1.00;0.75;0.75;M", cmoOverwrite
  1326.               CreateIniKeyValue ini$, _CPS$, "Stock15", "A4 InstaBook - 4/page;C;P;0.00;0.00;14.85;10.48;2; 2;29.70;21.00;0.75;1.00;0.75;0.75;M", cmoOverwrite
  1327.               CreateIniKeyValue ini$, _CPS$, "Stock16", "A4 InstaBook - 12/page;C;P;0.00;0.00;9.90;5.23;4; 3;29.70;21.00;0.75;1.00;0.75;0.75;M", cmoOverwrite
  1328.               CreateIniKeyValue ini$, _CPS$, "Stock17", "Power Up M0030 - 8.5 x 5.5;C;P;0.00;0.00;5.50;8.50;1; 2;11.00;8.50;0.35;0.35;0.35;0.35;I", cmoOverwrite
  1329.               CreateIniKeyValue ini$, _CPS$, "Stock18", "Power Up M0040 - 2.5 x 4.5;C;P;0.00;0.00;4.50;2.50;3; 2;11.00;8.50;0.35;0.35;0.35;0.35;I", cmoOverwrite
  1330.               CreateIniKeyValue ini$, _CPS$, "Stock19", "Power Up M0401 - 3.75 x 6.75;T;P;0.88;0.00;6.75;3.75;1; 1;8.50;3.75;0.50;0.35;0.56;0.35;I", cmoOverwrite
  1331.               CreateIniKeyValue ini$, _CPS$, "Stock20", "Power Up M0402 - 5.5 x 8.5;T;P;0.00;0.00;8.50;5.50;1; 1;8.50;5.50;0.50;0.35;0.66;0.35;I", cmoOverwrite
  1332.               CreateIniKeyValue ini$, _CPS$, "Stock21", "Power Up M0701 - 3.75 x 6.75;C;P;0.00;0.00;6.75;3.75;2; 1;11.00;8.50;0.50;0.35;0.56;0.35;I", cmoOverwrite
  1333.               CreateIniKeyValue ini$, _CPS$, "Stock22", "Power Up M0702 - 5.5 x 8.5;C;P;0.00;0.00;8.50;5.50;1; 1;11.00;8.50;0.50;0.35;0.66;0.35;I", cmoOverwrite
  1334.               CreateIniKeyValue ini$, _CPS$, "Stock23", "DiscoverSoft - 5.5 x 8.5;C;P;0.00;1.50;8.50;5.50;1; 1;11.00;8.50;0.50;0.35;0.63;0.35;I", cmoOverwrite
  1335.               '' TRANSLATOR END
  1336.         endif
  1337.  
  1338.         '' create [printing] entries
  1339.         CreateIniKeyValue ini$, _CCPO$, "Binding", "side", cmoNone
  1340.         CreateIniKeyValue ini$, _CCPO$, "BlanksAfter", "0", cmoNone
  1341.         CreateIniKeyValue ini$, _CCPO$, "BlanksBefore", "0", cmoNone
  1342.         CreateIniKeyValue ini$, _CCPO$, "ColumnOrder", _NO$, cmoNone
  1343.         CreateIniKeyValue ini$, _CCPO$, "Copies", "1", cmoNone
  1344.         CreateIniKeyValue ini$, _CCPO$, "Duplex", "Ordered", cmoNone
  1345.         CreateIniKeyValue ini$, _CCPO$, "FudgeX", "0", cmoNone
  1346.         CreateIniKeyValue ini$, _CCPO$, "FudgeY", "0", cmoNone
  1347.         CreateIniKeyValue ini$, _CCPO$, "InputTray", "up", cmoNone
  1348.         CreateIniKeyValue ini$, _CCPO$, "LandscapeRotate", "left", cmoNone
  1349.         CreateIniKeyValue ini$, _CCPO$, "ManualFeed", "side", cmoNone
  1350.         CreateIniKeyValue ini$, _CCPO$, "OutputTray", "down", cmoNone
  1351.         CreateIniKeyValue ini$, _CCPO$, "OverflowSymbol", _YES$, cmoNone
  1352.         CreateIniKeyValue ini$, _CCPO$, "PaperHead", "in", cmoNone
  1353.         CreateIniKeyValue ini$, _CCPO$, "PrintBW", _NO$, cmoNone
  1354.         CreateIniKeyValue ini$, _CCPO$, "Type", "simplex", cmoNone
  1355.         CreateIniKeyValue ini$, _CCPO$, "Units", "1", cmoNone
  1356.  
  1357.         '' create [showpict] & [poweralbum] entries
  1358.         CreateIniKeyValue ini$,"SHOWPICT","Path",UCASE$ (DEST$),cmoOverwrite
  1359.         CreateIniKeyValue ini$,"ART","Path",UCASE$ (DEST_ART$),cmoOverwrite
  1360.         CreateIniKeyValue ini$,"POWERALBUM","Path",UCASE$ (DEST$),cmoOverwrite
  1361.         CreateIniKeyValue ini$,"POWERALBUM","Import",UCASE$ (DEST_ART$),cmoOverwrite
  1362.         CreateIniKeyValue ini$,"POWERALBUM","AlternatePicturePath",MakePath (MID$ (sourcDir$, 1, 2), "Art"),cmoOverwrite
  1363.         CreateIniKeyValue ini$,"SHOWPICT","Path",UCASE$ (DEST$),cmoOverwrite
  1364.         CreateIniKeyValue ini$,"SHOWPICT","BigTif",_NO$,cmoOverwrite
  1365.         CreateIniKeyValue ini$,"SHOWPICT","KodakPCDSizes","192,128,384,256,20000,20000,1536,1024,3072,2048",cmoOverwrite
  1366.       ENDIF
  1367.  
  1368.       if mode% = ADMIN then
  1369.         NetworkInf$ = MakePath( DEST$, "CCWNET.INF" )
  1370.         CreateIniKeyValue NetworkInf$, _CCW$, "ProgramPath", UCASE$ (DEST$), cmoOverwrite
  1371.         CreateIniKeyValue NetworkInf$, _GRAPH_INI$, "Path", UCASE$ (DEST_FILTERS$), cmoOverwrite
  1372.         CreateIniKeyValue NetworkInf$, "ART", "Path", UCASE$ (DEST_ART$), cmoOverwrite
  1373.       endif
  1374.       
  1375.       CloseWaitMessage
  1376. END SUB
  1377.  
  1378. '' DoIconStuff
  1379. ''
  1380. SUB DoIconStuff STATIC
  1381.   IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  1382.     CreateProgmanGroup _PROG_GRP$, "", cmoNone
  1383.     ShowProgmanGroup   _PROG_GRP$, 1, cmoNone
  1384.     CreateProgmanItem  _PROG_GRP$, _ICON_CCW$, MakePath (DEST$,_EXE_NAME$), "", cmoOverwrite
  1385.     CreateProgmanItem  _PROG_GRP$, _ICON_PA$, MakePath (DEST$,"palbum.exe"), "", cmoOverwrite
  1386.     CreateProgmanItem  _PROG_GRP$, _ICON_README$, MakePath (DEST$,"readme.txt"), "", cmoOverwrite
  1387.     if mode% = ADMIN then
  1388.       CreateProgmanItem  _PROG_GRP$, _ICON_NETREADME$, MakePath (DEST$,"admin.txt"), "", cmoOverwrite
  1389.     endif
  1390.     if mode% <> NODE then
  1391.     RemoveFile MakePath(DEST$,"album.exe"),cmoNone
  1392.     RemoveFile MakePath(DEST$,"album.hlp"),cmoNone
  1393.     RemoveFile MakePath(DEST$,"ccutil.dll"),cmoNone
  1394.     RemoveFile MakePath(DEST$,"celib.dll"),cmoNone
  1395.     RemoveFile MakePath(DEST$,"egares.dll"),cmoNone
  1396.     RemoveFile MakePath(DEST$,"sv2res.dll"),cmoNone
  1397.     RemoveFile MakePath(DEST$,"svgres.dll"),cmoNone
  1398.     RemoveFile MakePath(DEST$,"vg2res.dll"),cmoNone
  1399.     RemoveFile MakePath(DEST$,"vgares.dll"),cmoNone
  1400.     RemoveFile MakePath(DEST$,"owl.dll"),cmoNone
  1401.     RemoveFile MakePath(DEST$,"tclass.dll"),cmoNone
  1402.     SRC$=DEST$
  1403.     _DUMMYDLL$ = "printer.dll"
  1404.     
  1405.     '' don't know why this was going on -- brentw
  1406.     ''
  1407.     ''CopyFile MakePath(SRC$,_DUMMYDLL$),MakePath(DEST$,"album2.dll"),cmoNone,0
  1408.     ''CopyFile MakePath(SRC$,_DUMMYDLL$),MakePath(DEST$,"chospict.dll"),cmoNone,0
  1409.     ''CopyFile MakePath(SRC$,_DUMMYDLL$),MakePath(DEST$,"showpict.dll"),cmoNone,0
  1410.     ''CopyFile MakePath(SRC$,_DUMMYDLL$),MakePath(DEST$,"ntbkcan.dll"),cmoNone,0
  1411.     ''CopyFile MakePath(SRC$,_DUMMYDLL$),MakePath(DEST$,"notebook.dll"),cmoNone,0
  1412.     ''CopyFile MakePath(SRC$,_DUMMYDLL$),MakePath(DEST$,"splash.dll"),cmoNone,0
  1413.     ''CopyFile MakePath(SRC$,_DUMMYDLL$),MakePath(DEST$,"cpalette.dll"),cmoNone,0
  1414.     endif
  1415.   ENDIF
  1416. END SUB
  1417.  
  1418. GET_SETUP_MODE:
  1419. NetworkInf$ = MakePath( GetSymbolValue("STF_SRCDIR"), "CCWNET.INF" )
  1420. if DoesFileExist( NetworkInf$, femExists) <= 0 then
  1421.   goto KEEP_CHECKING
  1422. else
  1423. FIND_EXE_PATH:
  1424.   DEST$ = LCASE$( MakePath( GetSymbolValue( "STF_SRCDIR" ), "" ) )
  1425.   if DoesFileExist (MakePath (DEST$, _EXE_NAME$), femExists) <= 0 then
  1426.     i% = DoMsgBox(_ERRMSG_NOFIND$ + MakePath(DEST$, _EXE_NAME$) + _ERRMSG_CONTACT$, _SETUP_TITLE$, MB_OK+MB_TASKMODAL+MB_ICONHAND)
  1427.     szDelFile$ = MakePath( GetSymbolValue("STF_CWDDIR"), "chklist.ms" )
  1428.     RemoveFile szDelFile$, cmoNone
  1429.     END
  1430.   endif
  1431.   DEST_FILTERS$ = LCASE$ (GetIniKeyString (NetworkInf$, _GRAPH_INI$, "Path"))
  1432. CHECK_FILTERS_PATH:
  1433.   if DoesFileExist (MakePath (DEST_FILTERS$, "IMWMF9.FLT"), femExists) <= 0 then
  1434.     ''i% = DoMsgBox(_ERRMSG_NOFIND$ + MakePath(DEST_FILTERS$, "IMWMF9.FLT") + _ERRMSG_CONTACT$, "DEBUG", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  1435. GET_FILTERS_PATH:
  1436.     DEST_FILTERS$ = DEST$
  1437.     SetSymbolValue "EditTextIn", DEST_FILTERS$
  1438.     SetSymbolValue "EditFocus", "END"
  1439.     sz$ = UIStartDlg (CUIDLL$, NET_FILTERS_PATH, "FEditDlgProc", 0, "")
  1440.     IF sz$ = "OK" THEN
  1441.       szPath$ = MakePath (LCASE$ (GetSymbolValue("EditTextOut")), "")
  1442.       IF DoesDirExist (szPath$) = 0 THEN
  1443.   GOSUB BADPATH
  1444.   GOTO GET_FILTERS_PATH
  1445.       ENDIF
  1446.       UIPop 1
  1447.       DEST_FILTERS$ = szPath$
  1448.       goto CHECK_FILTERS_PATH
  1449.     ELSEIF sz$ = "REACTIVATE" THEN
  1450.       GOTO GET_FILTERS_PATH
  1451.     ELSE
  1452.       AskQuit
  1453.       GOTO GET_FILTERS_PATH
  1454.     ENDIF
  1455. endif
  1456. DEST_ART$ = LCASE$ (GetIniKeyString (NetworkInf$, "ART", "Path"))
  1457. CHECK_ART_PATH:
  1458. if DoesFileExist (MakePath (DEST_ART$, _THEME_ALB$), femExists) <= 0 then
  1459.   ''
  1460. GET_ART_PATH:
  1461.   DEST_ART$ = DEST$
  1462.   SetSymbolValue "EditTextIn", DEST_ART$
  1463.   SetSymbolValue "EditFocus", "END"
  1464.   sz$ = UIStartDlg (CUIDLL$, NET_ART_PATH, "FEditDlgProc", 0, "")
  1465.   IF sz$ = "OK" THEN
  1466.     szPath$ = MakePath (LCASE$ (GetSymbolValue("EditTextOut")), "")
  1467.     IF DoesDirExist (szPath$) = 0 THEN
  1468.       GOSUB BADPATH
  1469.       GOTO GET_ART_PATH
  1470.     ENDIF
  1471.     UIPop 1
  1472.     DEST_ART$ = szPath$
  1473.     goto CHECK_ART_PATH
  1474.   ELSEIF sz$ = "REACTIVATE" THEN
  1475.     GOTO GET_ART_PATH
  1476.   ELSE
  1477.     AskQuit
  1478.     GOTO GET_ART_PATH
  1479.   ENDIF
  1480. endif
  1481. mode% = NODE
  1482. goto DONE_CHECKING
  1483. endif
  1484. KEEP_CHECKING:
  1485. if GetSymbolValue( "STF_MODE" ) = "ADMIN" then
  1486.   mode% = ADMIN
  1487. elseif GetSymbolValue( "STF_MODE" ) = "NETWORK" then
  1488.   mode% = NORMAL
  1489. else
  1490.   mode% = NORMAL
  1491. endif
  1492. DONE_CHECKING:
  1493. RETURN
  1494.  
  1495. DO_NODE_SETUP:
  1496. LOOP_NODE1:
  1497. sz$ = UIStartDlg(CUIDLL$, NODESETUP, "FInfo0DlgProc", 0, "")
  1498. IF sz$ = "REACTIVATE" THEN
  1499.   GOTO  LOOP_NODE1
  1500. ELSEIF sz$ = "CANCEL" then
  1501.   AskQuit
  1502.   goto LOOP_NODE1
  1503. ELSE
  1504.   UIPop 1
  1505. ENDIF
  1506. InitMainDialogSymbols
  1507. goto GET_DATA_PATH
  1508. NODE_PATH_DONE:
  1509. CreateDir DATA_PATH$, cmoNone
  1510. DeleteOldIcons
  1511. DoIniStuff
  1512. DoIconStuff
  1513. '' copy needed files from server
  1514. fdest$ = ""
  1515. if IsDirWritable( WinSysDir$ ) = 1 then
  1516.   fdest$ = WinSysDir$
  1517. elseif IsDirWritable( WinDir$ ) = 1 then
  1518.   fdest$ = WinDir$
  1519. endif
  1520. if fdest$ <> "" then
  1521.   CopyFile MakePath(DEST$,"CASQUEOF.TTF"),MakePath(fdest$,"CASQUEOF.TTF"),cmoNone,0
  1522.   CopyFile MakePath(DEST$,"formlscr.TTF"),MakePath(fdest$,"formlscr.TTF"),cmoNone,0
  1523.   CopyFile MakePath(DEST$,"ultrashd.TTF"),MakePath(fdest$,"ultrashd.TTF"),cmoNone,0
  1524.   CopyFile MakePath(DEST$,"marqueen.TTF"),MakePath(fdest$,"marqueen.TTF"),cmoNone,0
  1525.   DoFontStuff
  1526. endif
  1527. if IsDirWritable( WinDir$ ) = 1 then
  1528.   szDestFile$ = MakePath( WinDir$, "ccstyles.ccy" )
  1529.   if DoesFileExist( szDestFile$, femExists) <= 0 then
  1530.     CopyFile MakePath(DEST$,"ccstyles.ccy"),szDestFile$,cmoNone,0
  1531.   endif
  1532. endif
  1533. '' warn 3.0 users they need a font manager
  1534. IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  1535.   CheckWin30
  1536. ENDIF
  1537. GetUserInfo
  1538. LOOP_NODE:
  1539. sz$ = UIStartDlg(CUIDLL$, EXITSUCCESS, "FInfo0DlgProc", 0, "")
  1540. IF sz$ = "REACTIVATE" THEN
  1541.   GOTO  LOOP_NODE
  1542. ENDIF
  1543. UIPop 1
  1544. HelpQuit (FrameWindow%)
  1545. szDelFile$ = MakePath( GetSymbolValue("STF_CWDDIR"), "chklist.ms" )
  1546. RemoveFile szDelFile$, cmoNone
  1547. END
  1548.  
  1549. '' GetUserInfo
  1550. ''
  1551. SUB GetUserInfo STATIC
  1552. '' get the powerup.ini entries if present
  1553. szUserName$ = GetIniKeyString (ini$, "USER INFO", "UserName")
  1554. szCompany$ = GetIniKeyString (ini$, "USER INFO", "CompanyName")
  1555. if (szUserName$ <> "") and (szCompany$ <> "") then
  1556.   goto END_INFO
  1557. endif
  1558. if (szUserName$ <> "") and (szCompany$ <> "") then
  1559.   CreateIniKeyValue ini$, "USER INFO", "UserName", szUserName$, cmoOverwrite
  1560.   CreateIniKeyValue ini$, "USER INFO", "CompanyName", szCompany$, cmoOverwrite
  1561.   goto END_INFO
  1562. endif
  1563. SetSymbolValue NAME_STR$, szUserName$
  1564. SetSymbolValue ORG_STR$, szCompany$
  1565. GET_USER_INFO_LOOP:
  1566. sz$ = UIStartDlg (CUIDLL$, GETINFO, "FNameOrgDlgProc", 0, "")
  1567. IF sz$ = "REACTIVATE" THEN
  1568.   GOTO GET_USER_INFO_LOOP
  1569. ELSEIF sz$ = "OK" THEN
  1570.   CreateIniKeyValue ini$, "USER INFO", "UserName", GetSymbolValue (NAME_STR$), cmoOverwrite
  1571.   CreateIniKeyValue ini$, "USER INFO", "CompanyName", GetSymbolValue (ORG_STR$), cmoOverwrite
  1572. ENDIF
  1573. UIPop 1
  1574. END_INFO:
  1575. END SUB
  1576.  
  1577. GET_DATA_PATH:
  1578. DATA_PATH$ = MakePath( RootDir$, _INSTALL_PATH$ )
  1579. SetSymbolValue "EditTextIn", DATA_PATH$
  1580. SetSymbolValue "EditFocus", "END"
  1581. sz$ = UIStartDlg (CUIDLL$, DATAPATH, "FEditDlgProc", 0, "")
  1582. IF sz$ = "OK" THEN
  1583.   szPath$ = MakePath (LCASE$ (GetSymbolValue("EditTextOut")), "")
  1584.   IF IsDirWritable (szPath$) = 0 THEN
  1585.     GOSUB BADPATH
  1586.     GOTO GET_DATA_PATH
  1587.   END IF
  1588.   UIPop 1
  1589.   DATA_PATH$ = szPath$
  1590.   goto NODE_PATH_DONE
  1591. ELSEIF sz$ = "REACTIVATE" THEN
  1592.   GOTO GET_DATA_PATH
  1593. ELSE
  1594.   AskQuit
  1595.   GOTO GET_DATA_PATH
  1596. ENDIF
  1597.  
  1598. SUB SetupIniForMerge STATIC
  1599.     szPaIni$ = MakePath(GetWindowsDir, _PASETUP_INI$)
  1600.     
  1601.       szSrcDir$ = GetSymbolValue("STF_SRCDIR")
  1602.       szDest$ = DEST$
  1603.  
  1604.       checked% = 0
  1605.     szOptList$ = DIA_ART$
  1606.     szDest$ = DEST_ART$ 
  1607.     
  1608.     szBlankAlb$ = MakePath(szDest$, _BLANK_ALB$)
  1609.     
  1610.     '' art and album
  1611.     if GetSymbolValue(RAD_BUILD_ALBUM$)= _ON$ THEN
  1612.         j% = GetListLength(DIA_ART$)
  1613.           for i% = 1 to j% STEP 1
  1614.              szChkSym$ = GetListItem(szOptList$, i%)
  1615.              szStatus$ = GetListItem (szChkSym$, STATUS)
  1616.              IF szStatus$ = _ON$ THEN
  1617.                 '' cat is checked, add the album
  1618.                 checked% = checked% + 1
  1619.                 numstr$ = Str$(checked%)
  1620.                 numstr$ = Ltrim$(numstr$)
  1621.                 szIniSection$ = "Category" + numstr$
  1622.                 szName$ = GetListItem(szChkSym$, ALBUM)
  1623.                 CreateIniKeyValue szPaIni$, szIniSection$, "album", szName$, cmoOverwrite
  1624.                 CreateIniKeyValue szPaIni$, szIniSection$, "install", "1", cmoOverwrite
  1625.                 CreateIniKeyValue szPaIni$, szIniSection$, "dir", szDest$, cmoOverwrite
  1626.                 CreateIniKeyValue szPaIni$, szIniSection$, "artpath", szDest$, cmoOverwrite
  1627.                 CreateIniKeyValue szPaIni$, szIniSection$, "name", "Category" + str$(i), cmoOverwrite
  1628.              ENDIF
  1629.           NEXT i%
  1630.           if checked% > 0 then
  1631.               szThemeAlb$ = MakePath(szDest$, _THEME_ALB$)
  1632.               
  1633.                CreateIniKeyValue szPaIni$, "INSTALLINFO", "NbrCategories", numstr$, cmoOverwrite
  1634.               CreateIniKeyValue ini$, "PowerAlbum", "Merge", "7", cmoOverwrite
  1635.               CreateIniKeyValue ini$, "PowerAlbum", "Album", szThemeAlb$, cmoOverwrite
  1636.               CreateIniKeyValue ini$, _CCW$, "Album", szThemeAlb$, cmoOverwrite
  1637.                            
  1638.               if DoesFileExist(szThemeAlb$, femExists) = 1 then
  1639.                 RemoveFile szBlankAlb$, cmoNone
  1640.             else
  1641.                 RenameFile szBlankAlb$, _THEME_ALB$  
  1642.             endif
  1643.           endif
  1644.                                     
  1645.     '' album only                                    
  1646.     elseif GetSymbolValue(RAD_ALBUM_ONLY$)= _ON$ THEN
  1647.         '' what works now
  1648.         if NEED_MERGE = 1 then
  1649.               szBigAlb$ = MakePath(szDest$, _BIG_ALB$)
  1650.               CreateIniKeyValue ini$, "PowerAlbum", "Album", szBigAlb$, cmoOverwrite
  1651.               CreateIniKeyValue ini$, _CCW$, "Album", szBigAlb$, cmoOverwrite
  1652.                 CreateIniKeyValue ini$, _CCW$, "GraphicsPath", szSrcDir$, cmoOverwrite
  1653.                 CreateIniKeyValue ini$,"POWERALBUM","AlternatePicturePath",MakePath (MID$ (sourcDir$, 1, 2), "Art"),cmoOverwrite
  1654.         endif
  1655.  
  1656.     '' art only
  1657.     else
  1658.           szThemeAlb$ = MakePath(szDest$, _THEME_ALB$)
  1659.           if DoesFileExist(szThemeAlb$, femExists) = 1 then
  1660.             RemoveFile szBlankAlb$, cmoNone
  1661.         else
  1662.             RenameFile szBlankAlb$, _THEME_ALB$  
  1663.               szBigAlb$ = MakePath(szDest$, _BIG_ALB$)
  1664.               if DoesFileExist(szBigAlb$, femExists) = 1 then
  1665.                   CreateIniKeyValue ini$, "PowerAlbum", "Album", szBigAlb$, cmoOverwrite
  1666.                   CreateIniKeyValue ini$, _CCW$, "Album", szBigAlb$, cmoOverwrite
  1667.             else
  1668.                   CreateIniKeyValue ini$, "PowerAlbum", "Album", szThemeAlb$, cmoOverwrite
  1669.                   CreateIniKeyValue ini$, _CCW$, "Album", szThemeAlb$, cmoOverwrite
  1670.             endif
  1671.         endif
  1672.     endif
  1673. END SUB
  1674.  
  1675.  
  1676. '' DoFontStuff
  1677. ''
  1678. SUB DoFontStuff STATIC
  1679. if IsDirWritable( WinSysDir$ ) = 1 then
  1680.   adest$ = WinSysDir$
  1681. elseif IsDirWritable( WinDir$ ) = 1 then
  1682.   adest$ = WinDir$
  1683. else
  1684.   goto FontEnd
  1685. endif
  1686. ret% = InstallTTF(MakePath(TTF_PATH$,"CASQUEOF.TTF"),adest$)
  1687. ret% = InstallTTF(MakePath(TTF_PATH$,"formlscr.TTF"),adest$)
  1688. ret% = InstallTTF(MakePath(TTF_PATH$,"ultrashd.TTF"),adest$)
  1689. ret% = InstallTTF(MakePath(TTF_PATH$,"marqueen.TTF"),adest$)
  1690. FontEnd:
  1691. END SUB
  1692.  
  1693. SUB RunNextInstall STATIC
  1694.         SrcDir$ = GetSymbolValue("STF_SRCDIR")
  1695.         ExePath$ = MakePath(SrcDir$, "..\screen\install.exe")
  1696.         lRet% = WinExec(ExePath$, 1)
  1697. END SUB
  1698.  
  1699.  
  1700. '$INCLUDE 'init.inc'
  1701.  
  1702.